An Efficient Implementation of Guard-Based Synchronization for an Object-Oriented Programming Language

In the shared variable model of concurrency, guarded atomic actions restrict the possible interference between processes by regions of atomic execution.The guard specifies the condition for entering an atomic region.That is a convenient model for the specification and verification of concurrent programs, but it has eschewed efficient execution so far.This article shows how guarded atomic actions, when attached to objects, can be implemented highly efficiently using a combination of coroutines, operating-system worker threads, and dedicated management of object queues and stacks.The efficiency of an experimental language, Lime, is shown to compare favourably with that of C/Pthreads, Go, Erlang, Java, and Haskell on synthetic benchmarks.

Authors

Institutions

Publication Details

Journal
Electronic Proceedings in Theoretical Computer Science
Published
2025-05-25
DOI
https://doi.org/10.4204/eptcs.420.5
Citations
2
Primary Topic
Parallel Computing and Optimization Techniques
Type
article
Field-Weighted Citation Impact
2.27
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

An Efficient Implementation of Guard-Based Synchronization for an Object-Oriented Programming Language

Shucai Yao, Emil Sekerinski
2 citations
Electronic Proceedings in Theoretical Computer Science
Parallel Computing and Optimization Techniques
2.27
article

An Efficient Implementation of Guard-Based Synchronization for an Object-Oriented Programming Language

Shucai Yao, Emil Sekerinski
article en
2 citations

Abstract

In the shared variable model of concurrency, guarded atomic actions restrict the possible interference between processes by regions of atomic execution.The guard specifies the condition for entering an atomic region.That is a convenient model for the specification and verification of concurrent programs, but it has eschewed efficient execution so far.This article shows how guarded atomic actions, when attached to objects, can be implemented highly efficiently using a combination of coroutines, operating-system worker threads, and dedicated management of object queues and stacks.The efficiency of an experimental language, Lime, is shown to compare favourably with that of C/Pthreads, Go, Erlang, Java, and Haskell on synthetic benchmarks.

Electronic Proceedings in Theoretical Computer ScienceVol. 420
Huawei Technologies (Canada) (CA), McMaster University (CA)
Openalex Percentile: Top 19%
Parallel Computing and Optimization Techniques
2.27
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

An Efficient Implementation of Guard-Based Synchronization for an Object-Oriented Programming Language — Shucai Yao, Emil Sekerinski · Electronic Proceedings in Theoretical Computer Science (2025) | TGRS Research Map | TGRS