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

📅 2025-05-25
🏛️ Electronic Proceedings in Theoretical Computer Science
📈 Citations: 0
✨ Influential: 0
📄 PDF
🤖 AI Summary
To address the low execution efficiency of guard-based synchronization in shared-variable concurrent models, this paper proposes an efficient guard-atomic-action synchronization mechanism for object-oriented languages, wherein guard logic is deeply bound to objects to enable condition-driven atomic execution regions. Methodologically, it introduces the first integration of coroutine scheduling, OS thread pooling, object-granularity customized queue/stack memory management, dynamic guard-condition evaluation, and lazy wakeup. Its core contribution lies in overcoming the traditional loose coupling between guard synchronization and object models, achieving substantial reduction in synchronization overhead through synergistic runtime and language-semantic optimizations. Evaluation on the Lime experimental language demonstrates that the mechanism outperforms mainstream concurrent platforms—including C/Pthreads, Go, Erlang, Java, and Haskell—on synthetic benchmarks.

Technology Category

Planning, Routing, and Scheduling: Optimization of Spatio-temporal SystemsMachine Learning: Hardware-aware MLConstraint Satisfaction and Optimization: Satisfiability Modulo Theories

Application Category

Semantics and Knowledge: Methods to enhance, augment, integrate or synergize semantic models such as knowledge graphs and LLMsSecurity and Privacy: Large-scale security measurementsGraph Algorithms and Modeling for the Web: Efficient manipulation of static and dynamic Web-related graphs
📝 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 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.
Problem

Research questions and friction points this paper is trying to address.

Implement efficient guard-based synchronization for OOP
Optimize execution of guarded atomic actions in concurrency
Compare Lime language performance with mainstream alternatives
Innovation

Methods, ideas, or system contributions that make the work stand out.

Uses coroutines for efficient execution
Combines OS worker threads
Manages object queues and stacks
🔎 Similar Papers
No similar papers found.
💼 Related Jobs
No related jobs found.
S
Shucai Yao
Huawai Technologies Canada, Markham, Ontario, Canada
E
E. Sekerinski
McMaster University, Hamilton, Ontario, Canada