Filters








14,935 Hits in 4.8 sec

Concurrent System Programming with Effect Handlers [chapter]

Stephen Dolan, Spiros Eliopoulos, Daniel Hillerström, Anil Madhavapeddy, K. C. Sivaramakrishnan, Leo White
2018 Lecture Notes in Computer Science  
In this paper, we make the observation that effect handlers can elegantly express particularly difficult programs that combine system programming and concurrency without compromising performance.  ...  The modular nature of effect handlers allows the concurrent program to abstract over different scheduling strategies [9] .  ...  In this paper we explore the applicability of effect handlers to concurrent system sk826@cl.cam.ac.uk programming in Multicore OCaml.  ... 
doi:10.1007/978-3-319-89719-6_6 fatcat:csi2d6oyg5cphblfbbpa3r3pty

A type-and-effect system for asynchronous, typed events

Yuheng Long, Hridesh Rajan
2016 Proceedings of the 15th International Conference on Modularity - MODULARITY 2016  
Knowing the side-effect of the handlers is critical in these systems to avoid concurrency hazards such as data races.  ...  Knowing the side-effect of the handlers is critical in these systems to avoid concurrency hazards such as data races.  ...  Mooney helped with an earlier version of this work. This work was supported in part by NSF grants CCF-08-46059, CCF-11-17937 and CCF- 14-  ... 
doi:10.1145/2889443.2889446 dblp:conf/aosd/LongR16 fatcat:fbop3iwczjckzji46onhweuwfq

Implicit invocation meets safe, implicit concurrency

Yuheng Long, Sean L. Mooney, Tyler Sondag, Hridesh Rajan
2010 Proceedings of the ninth international conference on Generative programming and component engineering - GPCE '10  
ACKNOWLEDGEMENTS I would like to take this opportunity to express my thanks to those who helped me with various aspects of conducting research and the writing of this thesis.  ...  Problems with Explicit Concurrency Features Explicit concurrency. With explicit concurrency, programmers must divide the program into independent tasks.  ...  On the other hand, Pānini provides a dynamic effect system, with which Pānini could more accurately detect conflict between concurrent tasks.  ... 
doi:10.1145/1868294.1868304 dblp:conf/gpce/LongMSR10 fatcat:mp3ktpegxngnfm2uwrewhi4qou

Implicit invocation meets safe, implicit concurrency

Yuheng Long, Sean L. Mooney, Tyler Sondag, Hridesh Rajan
2011 SIGPLAN notices  
ACKNOWLEDGEMENTS I would like to take this opportunity to express my thanks to those who helped me with various aspects of conducting research and the writing of this thesis.  ...  Problems with Explicit Concurrency Features Explicit concurrency. With explicit concurrency, programmers must divide the program into independent tasks.  ...  On the other hand, Pānini provides a dynamic effect system, with which Pānini could more accurately detect conflict between concurrent tasks.  ... 
doi:10.1145/1942788.1868304 fatcat:4wqjwsxecjgmpdo33upm6p6u5q

Developing libraries using software transactional memory

Ricardo Dias, João Lourenço, Gonçalo Cunha
2008 Computer Science and Information Systems  
Software transactional memory is a promising programming model that adapts many concepts borrowed from the databases world to control concurrent accesses to main memory (RAM) locations.  ...  Related Work Tim Harris in [6] , also uses call-back handlers in the form of external actions to provide support for operations with side-effects, such as console I/O, in the Java programming language  ...  Fig. 5 . 5 Handler System API: prepare-commit handler registering functions. Fig. 6 . 6 Linked list add operation with handler system support. Fig. 7 . 7 Linked list removehead operation.  ... 
doi:10.2298/csis0802103d fatcat:wynleyj6mzcn7ceg6mmsnzflgy

Guardians and Actions: Linguistic Support for Robust, Distributed Programs

Barbara Liskov, Robert Scheifler
1983 ACM Transactions on Programming Languages and Systems  
Support An overview is presented of an integrated programming language and system designed to support the construction and maintenance of distributed programs: programs in which modules reside and execute  ...  The language addresses the writing of robust programs that survive hardware failures without loss of distributed information and that provide highly concurrent access to that information while preserving  ...  To support such systems, there is a growing need for effective ways to organize and maintain distributed programs: programs in which modules reside and execute at communicating, but geographically distinct  ... 
doi:10.1145/2166.357215 fatcat:geybcyzil5ax7hn4tg22alf3km

Reconciling concurrency and modularity with Panini's asynchronous typed events

Yuheng Long, Hridesh Rajan, Sean L. Mooney
2010 Proceedings of the ACM international conference companion on Object oriented programming systems languages and applications companion - SPLASH '10  
It focuses on Pānini's asynchronous, typed event which reconciles the modularity goal promoted by the implicit invocation design style with the scalability goal of exposing concurrency between the execution  ...  When an observer registers at runtime, Pānini's runtime system uses this summary to compare whether concurrent execution of this observer with other already registered observers for the same event is likely  ...  These ideas work well with a distributed memory model, where concurrent tasks are isolated.  ... 
doi:10.1145/1869542.1869595 dblp:conf/oopsla/LongRM10 fatcat:x3guvecgjbfvpb2eger4fi7pkm

Guardians and actions

Barbara Liskov, Robert Scheifler
1982 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages - POPL '82  
The language addresses the writing of robust programs that survive hardware failures without loss of distributed information and that provide highly concurrent access to that information while preserving  ...  This paper presents an overview of an integrated programming language and~lstem designed to support the construction and maintenance of distributed programs: programs in which modules reside and execute  ...  of handler calls ensures that handlers either succeed completely or have no effect.  ... 
doi:10.1145/582153.582155 dblp:conf/popl/LiskovS82 fatcat:6e5s2l4rrfdp7n3gefvg4oubpa

Events not equal to GUIs

Stuart Hansen, Timothy Fossum
2004 Proceedings of the 35th SIGCSE technical symposium on Computer science education - SIGCSE '04  
This paper describes an upper division, computer science elective course in event driven programming. The course gives a comprehensive treatment of event driven systems.  ...  It appropriately captures the importance of the event paradigm and serves to integrate concepts from several different computing fields, including Programming Languages, Operating Systems, and Software  ...  The proxy works with the ORB to deliver the event to the actual handler on the remote system.  ... 
doi:10.1145/971300.971430 dblp:conf/sigcse/HansenF04 fatcat:ocilkiyyvfbzdkd4dunkywnwci

Events not equal to GUIs

Stuart Hansen, Timothy Fossum
2004 ACM SIGCSE Bulletin  
This paper describes an upper division, computer science elective course in event driven programming. The course gives a comprehensive treatment of event driven systems.  ...  It appropriately captures the importance of the event paradigm and serves to integrate concepts from several different computing fields, including Programming Languages, Operating Systems, and Software  ...  The proxy works with the ORB to deliver the event to the actual handler on the remote system.  ... 
doi:10.1145/1028174.971430 fatcat:nr7nuz2fyvcq3myphszaznefze

Cooperative Exceptions for Concurrent Objects

Bruno Cabral, Alcides Fonseca, Paulo Marques, Jonathan Aldrich
2015 2015 IEEE 21st Pacific Rim International Symposium on Dependable Computing (PRDC)  
object Controller extends Actor 2 with ExceptionModel { 3 def act() { 4 val tree = 5 TreeFactory.createRandomTree(0); 6 val worker = (new Worker).start 7 try {  ...  CONCLUSIONS In this paper we propose a new model for dealing with exceptions in concurrent software applications. Our objective is to give developers a system that they will effectively use.  ...  Abstract-The advent of multi-core systems set off a race to get concurrent programming to the masses.  ... 
doi:10.1109/prdc.2015.19 dblp:conf/prdc/CabralFMA15 fatcat:wvkp4ghgwzblrin26cbhklpysa

Transactional Memory: The Hardware-Software Interface

Austen McDonald, Brian D. Carlstrom, JaeWoong Chung, Chi Cao Minh, Hassan Chafi, Christos Kozyrakis, Kunle Olukotun
2007 IEEE Micro  
Concurrency control becomes largely the system's responsibility, with no additional programming burden.  ...  Nevertheless, for the programming community to broadly accept TM, it must work with modern programming languages and runtime systems.  ... 
doi:10.1109/mm.2007.26 fatcat:ls5lkpagefcmpb7qcne7unpb7u

Algebraic Effect Handlers go Mainstream (Dagstuhl Seminar 18172)

Sivaramakrishnan Krishnamoorthy Chandrasekaran, Daan Leijen, Matija Pretnar, Tom Schrijvers, Michael Wagner
2018 Dagstuhl Reports  
Or we can use algebraic effect handlers!  ...  The idea of algebraic effects handlers has already been experimented with in the form of small research languages and libraries in several mainstream languages, including OCaml, Haskell, Clojure, and Scala  ...  Discussion The designers of the Eff programming language [2] have explored several different designs for effect handlers and effect type systems for effect handlers.  ... 
doi:10.4230/dagrep.8.4.104 dblp:journals/dagstuhl-reports/ChandrasekaranL18 fatcat:yj5tunpy4fccbdaea7ajw7lwx4

Concurrent event handling through multithreading

1999 IEEE transactions on computers  
Instead of handling the event in the faulting thread's architectural and pipeline registers, the fault handler is forked into its own thread slot and executes concurrently with the faulting thread.  ...  Large register files require existing software systems to save and restore a substantial amount of process state before executing an exception handler.  ...  Air Force Electronic Systems Division under contract F19628-92-C-0045. Thanks also to Nick Carter for providing the infrastructure to run the software-based shared memory benchmark application.  ... 
doi:10.1109/12.795220 fatcat:itv6txfxbbaxlpqx7dfzgabxza

Program Demultiplexing

Saisanthosh Balakrishnan, Gurindar S. Sohi
2006 SIGARCH Computer Architecture News  
Our implementation of PD is based on a full-system execution-based chip multi-processor simulator with software to generate triggers and handlers from an x86program binary.  ...  We evaluate eight integer benchmarks from the SPEC2000 suite ⎯programs written in C with no explicit concurrency and/or motivation to create concurrency⎯ and achieve a harmonic mean speedup of 1.8x with  ...  Therefore, the event is overlapped with the rest of program, mitigating its harmful effects on performance.  ... 
doi:10.1145/1150019.1136512 fatcat:l3gxojptmje75ndrzimgefxl7y
« Previous Showing results 1 — 15 out of 14,935 results