World Scientific
  • Search
Skip main navigation

Cookies Notification

We use cookies on this site to enhance your user experience. By continuing to browse the site, you consent to the use of our cookies. Learn More
×
Our website is made possible by displaying certain online content using javascript.
In order to view the full content, please disable your ad blocker or whitelist our website www.worldscientific.com.

System Upgrade on Tue, Oct 25th, 2022 at 2am (EDT)

Existing users will be able to log into the site and access content. However, E-commerce and registration of new users may not be available for up to 12 hours.
For online purchase, please visit us again. Contact us at [email protected] for any enquiries.
Special Issue on High-Level Parallel Programming and ApplicationsNo Access

HIRONDML: FAIR THREADS MIGRATIONS FOR OBJECTIVE CAML

    In this paper, we present HirondML, an Objective Caml library implementing migrating threads. Our library is based on a simplified implementation of the Fair Threads, a reactive threads system originally developed at INRIA. The Fair Threads scheduling policy is based on mixing cooperative and preemptive threads. We designed a thread migration system based on the cooperativeness of Fair Threads. To minimize data copying, we adopted an original rebinding policy distinguishing local variables, which are copied, from global variables, which are rebound when a migration takes place. Such a choice allows two styles of programming, by copy or by sharing. This will be illustrated by different distributed applications.

    References

    • Gabriel Antoniuet al., Parallel Processing Letters  (2000). Google Scholar
    • Anne-Gwenn   Bosser , Advances in Computer Entertainment Technology (ACE) ( 2004 ) . Google Scholar
    • Sara Bouchenak, Daniel Hagimont, Sacha Krakowiak, Noel De Palma, and Fabienne Royer. Experiences Implementing Efficient Java Thread Serialization, Mobility and Persistence. Technical Report RR-4662, Inria, 2002 . Google Scholar
    • Frédéric Boussinot. Java Fair Threads. Technical Report RR-4139, Inria, 2001 . Google Scholar
    • Frédéric Boussinot. FairThreads: mixing cooperative and preemptive threads in C. Technical Report RR-5039, Inria, December 2003 . Google Scholar
    • Emmanuel Chailloux and Christian Foisy, Parallel Processing Letters  (2003). Google Scholar
    • Sylvain   Conchon and Fabrice   Le Fessant , JoCaml: mobile agents for Objective-Caml , Symp. on Agent Systems and Applications, Mobile Agents (ASA/MA) ( 1999 ) . Google Scholar
    • David   Cronk , Matthew   Haines and Piyush   Mehrotra , Thread migration in the presence of pointers , 30th Hawaii International Conference on System Sciences (HICSS) ( 1997 ) . Google Scholar
    • Marco   Danelutto et al. , Parallel Functional Programming with Skeletons: the OCamlP3L experiment , Workshop on ML and its applications ( Cornell University , 1998 ) . Google Scholar
    • G. Hains and F. Loulergue, Constructive Methods for Parallel Programming, eds. S. Gorlatch and C. Lengauer (Nova Science Publishers, 2002) pp. 165–178. Google Scholar
    • Richard Kelseyet al., Higher-Order and Symbolic Computation 11(1), (1998). Google Scholar
    • Xavier Leroy. The Objective Caml system release 3.10: Documentation and user's manual. Technical report, INRIA, 2007. on-line version http://caml.inria.fr . Google Scholar
    • John H.   Reppy , Concurrent Programming in ML ( Cambridge University Press , 1999 ) . CrossrefGoogle Scholar
    • E. S. Roberts. Implementing Exceptions in C. Technical Report 89/40, Digital Equipement Corporation (SRC), March 1989 . Google Scholar
    • Manuel   Serrano , Frederic   Boussinot and Bernard   Serpette , Scheme Fair Threads , International Conference on Principles and Practice of Declarative Programming (PPDP) ( 2004 ) . Google Scholar
    • Peter Sewell, James J. Leifer, Keith Wansbrough, Mair Allen-Williams, Francesco Zappa Nardelli, Pierre Habouzit, and Viktor Vafeiadis. Acute: High-level programming language design for distributed computation — design rationale and language definition. Technical Report TR-605, University of Cambridge Computer Laboratory, October 2004 . Google Scholar