000205039 001__ 205039
000205039 005__ 20190317000107.0
000205039 037__ $$aCONF
000205039 245__ $$aDistributed Programming via Safe Closure Passing
000205039 269__ $$a2015
000205039 260__ $$c2015
000205039 336__ $$aConference Papers
000205039 520__ $$aProgramming systems incorporating aspects of functional programming, e.g., higher-order func- tions, are becoming increasingly popular for large-scale distributed programming. New frameworks such as Apache Spark leverage functional techniques to provide high-level, declarative APIs for in- memory data analytics, often outperforming traditional “big data” frameworks like Hadoop MapRe- duce. However, widely-used programming models remain rather ad-hoc; aspects such as implemen- tation trade-offs, static typing, and semantics are not yet well-understood. We present a new asyn- chronous programming model that has at its core several principles facilitating functional processing of distributed data. The emphasis of our model is on simplicity, performance, and expressiveness. The primary means of communication is by passing functions (closures) to distributed, immutable data. To ensure safe and efficient distribution of closures, our model leverages both syntactic and type-based restrictions. We report on a prototype implementation in Scala. Finally, we present pre- liminary experimental results evaluating the performance impact of a static, type-based optimization of serialization.
000205039 6531_ $$aDistributed programming
000205039 6531_ $$atype systems
000205039 6531_ $$aprogramming model
000205039 6531_ $$ascala
000205039 700__ $$0240993$$g172057$$aHaller, Philipp
000205039 700__ $$aMiller, Heather$$g191683$$0242185
000205039 7112_ $$dApril 18, 2015$$cLondon, UK$$aProgramming Language Approaches to Communication and Concurrency Centric Systems
000205039 8564_ $$uhttps://infoscience.epfl.ch/record/205039/files/places-closure-passing.pdf$$zPostprint$$s324849$$yPostprint
000205039 909C0 $$xU10409$$0252187$$pLAMP
000205039 909CO $$ooai:infoscience.tind.io:205039$$qGLOBAL_SET$$pconf$$pIC
000205039 917Z8 $$x191683
000205039 937__ $$aEPFL-CONF-205039
000205039 973__ $$rREVIEWED$$sACCEPTED$$aEPFL
000205039 980__ $$aCONF