Skip to content

supercooldave/Distributed-Datatypes

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Results:

An Implantation of distributed arrays and hash tables have been implemented with the Encore programming language. It was done by embracing the core features of Encore such as active objects, message passing and futures. To evaluate the usability of the distributed data types a version of the big data framework MapReduce was build. We are happy with the result thus the MapReduce framework works as expected and was relative easy to implement with the distributed hash tables as under laying data structure. There have and will be other ways to achieve parallelism with collections of data in Encore, still future development for distributed data types will provide the future Encore programmer with a larger tool box. With more optimization the implemented distributed would possible be able to compete with other ways to achieve parallelism when dealing with big amounts of data.

Link to the Encore Language repo: https://github.com/parapluu/encore

Distributed hash table method list:

  • put(k,v) : unit
  • remove(k) : unit
  • get(k) : v
  • getMany([k]) : [v]
  • keys() : [k]
  • elements() : [v]
  • contains(v) : bool
  • rehash() : unit
  • clear() : unit
  • extend(v) : unit
  • extendAll(k, [v]) : unit
  • getValues() : [v]
  • mapper()
  • reducer()

Distributed array table method list:

  • array() : [t]
  • at(int) : t
  • print(f: t->s) : unit
  • insert(index: int, value: t) : unit
  • delete(index: int): unit
  • push(value: t) : unit
  • update(f: t->t) : unit
  • filter(f: t->Bool) -> Bigvar[t]
  • updateIndex(int,f:t->t) : unit

MapReduce

OBS. Real documentation of the library features is on the way as well as a published thesis

About

Distributed Datatypes Encore Library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TeX 91.6%
  • Java 5.2%
  • Python 2.7%
  • Makefile 0.5%