Skip to content
@hertzscript

HertzScript Systems

We are HertzScript R&D. We intend to improve web software as a whole by developing tools for cutting-edge programming and architectural exploration.

HertzScript Coroutine System G2

The primary role of coroutine system G2 is to assist developers who want their software to reliably multitask between several functions. The G2 system is composed of a JavaScript virtual machine, compiler, and M:N threading system which allows programs to execute concurrently and/or in parallel. The main motivation of G2 is to generate a standard multi-CPU parallel computing system and library for JavaScript.

Tasklet is described in the second generation (G2) specification, and will replace VirtualMachine from the first generation (G1) to implement Voluntary Preemptive Multitasking (VPM) threads in JavaScript. The new distributed scheduling system for Tasklets is Tasklet Burst Coscheduling (TBC), an implementation a variant of Concurrent Gang Scheduling called Paired Gang Scheduling. The TBC scheduling algorithm deviates from a traditional task-oriented runqueue design and is unaware of threads, instead representing the multitasking system as a sequence of events in a decentralized Discrete-Event Simulation. The scheduler re-sequences Tasklet events in short “bursts”, a fixed-increment time-progression

Pinned Loading

  1. Tasklet Tasklet Public

    Executes and schedules preemptible JavaScript coroutines. (HertzScript Generation 2 Coroutines)

    JavaScript 1

  2. Compiler Compiler Public

    Produces preemptible JavaScript coroutines which conform to the HertzScript specification.

    JavaScript 9 1

  3. HertzTest HertzTest Public

    Comprehensive integration tests for the HertzScript compiler!

    JavaScript 1

  4. G2-Coroutine-Specification G2-Coroutine-Specification Public

    HertzScript Generation 2 Coroutine Specification

    Shell 1

Repositories

Showing 10 of 10 repositories

Top languages

Loading…

Most used topics

Loading…