
RICE UNIVERSITY Enabling Distributed Reconfiguration in an Actor Model by Arghya Chatterjee A Thesis Submitted in Partial Fulfillment of the Requirements for the Degree Master of Science Approved, Thesis Committee: Vivek Sarkar, Chair Professor of Computer Science E.D. Butcher Chair in Engineering Zoran Budimlić Senior Research Scientist Department of Computer Science Swarat Chaudhuri Associate Professor of Computer Science Lin Zhong Professor of Electrical and Computer Engineering Professor of Computer Science Houston, Texas April, 2017 ABSTRACT Enabling Distributed Reconfiguration in an Actor Model by Arghya Chatterjee The demand for portable mainstream programming models supporting scalable, reactive and versatile distributed computing is growing dramatically with the prolifer- ation of manycore/heterogeneous processors on portable devices and cloud computing clusters that can be elastically and dynamically allocated. With such changes, it’s be- coming extremely difficult for distributed software systems and applications to achieve scalability and programmability without complex coordination and synchronization patterns. In this dissertation, we address the dynamic reconfiguration challenges that arise in distributed implementations of the Selector Model. We focus on the Selector Model in this work because of its support for multiple guarded mailboxes, which enables the programmer to easily specify coordination patterns that are more general than those supported by the actor model. The contributions of this dissertation are demon- strated in two implementations of distributed selectors, one for distributed servers and another for distributed Android devices. Both implementations run on distributed JVMs and feature the automated bootstrap and global termination capabilities in- troduced in this dissertation. In addition, the distributed Android implementation supports dynamic joining and leaving of devices, which is also part of the dynamic reconfiguration capabilities introduced in this dissertation. To mom and dad, Debi and Jagannath Chatterjee. Acknowledgments Firstly, I would like to thank my thesis advisor, Prof. Vivek Sarkar, for his unwavering support and mentorship throughout this work. I owe him the greatest degree of appreciation for providing me the opportunity to be a part of the Habanero Extreme Scale Research group. I would also like to thank my thesis committee members; Vivek Sarkar, Zoran Budimlić, Swarat Chaudhuri and Lin Zhong, for their time, feedback and suggestions for improvements in my thesis. Zoran Budimlić, thank you for your continuous guidance throughout the last two years. It was a real pleasure working with you. I express my sincere gratitude to Prof. John Mellor-Crummey, Prof. Keith Cooper, and Prof. Linda Torczon. John’s Parallel Computing course (COMP 422), and, Keith and Linda’s Introduction to Compiler course (COMP 412), introduced me to the world of Parallel Programming and Compilers. I would like to thank all the members of the Habanero Extreme Scale Research Group for their feedback and support during the length of my time at Rice. I would especially like to thank my co-authors in the works presented in this thesis, Branko Gvoka, Shams Imam, Srđan Milaković and Bing Xue. I also thank the undergraduate researchers at Rice that I have been fortunate enough to mentor and work with, Ashok, Tom, Timothy, and Hunter. I would like to thank my friends for all the love and encouragement. Special thanks to Alexander, Alina, Ankush, Anwesha, Arvind, Belia, Deepak, Dragos, Jayvee, Kar- tik, Keliang, Kuldeep, Kumail, Lechen, Leo, Madhuparna, Melissa, Prasanth, Ra- bimba, Rishi, Rohan, Ryan Luna, Ryan Spring, Sarah, Simba, Srayan, Sriraj, Sugu- v man and Terry. I would also like to thank the administrative staff at the Computer Science De- partment at Rice University, who promptly helped me in various ways throughout the last three years. I am also thankful to the executive board members of the CS Graduate Student Association, and my role as the President of the CSGSA during 2015-2106 has been an incredible experience. Finally, I am indebted to my parents, Debi and Jagannath Chatterjee for their continuous support, unconditional love and encouragement. They stood by my side through all the difficult times. Love you both, and I hope I have made you proud. Thank you all !!! Contents Abstract ii Acknowledgments iv List of Illustrations viii 1 Introduction1 1.1 Motivation.................................1 1.2 Thesis Statement.............................5 1.3 Contributions...............................5 1.4 Organization...............................5 2 Background7 2.1 Habanero-Java Library (HJlib).....................7 2.2 Selector Model (SM)...........................7 2.2.1 Coordination and Synchronization patterns with the SM... 11 2.3 Distributed configuration in Akka and SALSA............. 18 2.4 Distributed Communication in Clusters and Mobile Platforms.... 23 3 Cluster Platform 27 3.1 HJDS Design............................... 27 3.2 Automatic Bootstrap........................... 32 3.3 Global Termination............................ 35 4 Android Platform 41 4.1 DAMMP Design............................. 41 vii 4.2 Dynamic Joining............................. 45 4.3 Dynamic Leaving............................. 48 5 Experimental Evaluation 53 5.1 Cluster based implementation (HJDS)................. 53 5.1.1 Hardware Setup.......................... 53 5.1.2 Benchmarks............................ 53 5.1.2.1 NQueens First K Solutions.............. 54 5.1.2.2 Pi Precision....................... 56 5.2 Android based implementation (DAMMP)............... 58 5.2.1 Hardware Setup.......................... 59 5.2.2 Benchmarks............................ 59 5.2.2.1 Trapezoidal Approximation.............. 59 5.2.2.2 Pi Precision....................... 61 6 Related Work 64 6.1 Akka.................................... 64 6.2 SALSA: Simple Actor Language, System and Architecture...... 65 6.3 AmbientTalk............................... 66 6.4 ActorDroid................................ 67 6.5 ActorNet.................................. 68 7 Conclusion & Future Work 70 7.1 Conclusion................................. 70 7.2 Future Work................................ 72 Bibliography 73 Illustrations 2.1 Sample HJlib program..........................8 2.2 Selector Model with multiple guarded mailboxes, local state and a message processing unit.........................9 2.3 Life cycle of a Selector instance..................... 11 2.4 Computation of a synchronous request-reply pattern using an Actor Model and a Selector Model....................... 13 2.5 Left: Complex implementation of the join pattern using the Actor Model. The Adder actor aggregates the data items from each of the three sources and sums them up. Right: Similar join pattern, using the Selector Model for the Adder. Each mailbox in the Adder corresponds to a sequence number. Sources send messages to the mailbox which matches the sequence number.............. 14 2.6 Using Selectors to solve the Join Pattern problem of Figure 2.5. The aggregator selector version: Adder Any Order maintains one mailbox for each source. For simplicity, we assume sources are identified by consecutive integers starting at 0.................... 16 2.7 Using Selectors to solve the Join Pattern problem of Figure 2.5. The aggregator selector version: Adder Round Robin maintains one mailbox for each source. For simplicity, we assume sources are identified by consecutive integers starting at 0............. 17 3.1 The Distributed Selector System..................... 28 ix 3.2 Proxy Actor forwarding messages to local selectors and remote selectors at each place. The underlying message forwarding protocol is transparent to the application programmer.............. 30 3.3 Sample configuration file, nodes are on Rice University’s DAVinCI cluster................................... 33 3.4 Bootstrap process of the Distributed Selector program......... 34 3.5 Stage 1: Termination process initiated when each of the remote nodes and the master node is in idle state.................... 36 3.6 Decomposition of the runtime and user-level view during the termination process. a) Before initiating the termination process(Stage 1) b) Places 1 and 2 are considered as ‘idle’ in this phase 37 3.7 Stage 2: Termination signal passed around the network in a conceptual place-ring fashion with the Master Place at the end of the sequence.................................. 38 3.8 Stage 3: Terminate all nodes. Send termination signal around the network in a conceptual place-ring fashion............... 40 4.1 Overview of the distributed selector system. On each hand-held device, we have a single selector system with the Mobile Communication Manager of each device exposed to the entire distributed network. All communications to external handheld devices are performed by the Mobile Communication Manager in the runtime................................... 43 4.2 Dynamic join protocol for new handheld devices............. 47 4.3 Showing the dynamic leaving of devices while calculating a trapezoidal approximation of the function. We start with one device, and join upto three devices. Each of the colors depict which device contributed to the computation of that trapezoid in the function... 51 x 5.1 NQueens : Shows strong scaling of computing the NQueens problem on a 17×17 board using the described algorithm. Workers compute solutions sequentially when given a partial solution with six placed queens. The number of workers per node
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages89 Page
-
File Size-