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

  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
  • .github Public
    0 0 0 0 Updated Sep 10, 2022
  • Platform Public

    Platform abstraction related to OS threads.

    C++ 1 MIT 0 0 0 Updated Nov 25, 2020
  • G2-Coroutine-Specification Public

    HertzScript Generation 2 Coroutine Specification

    Shell 1 MIT 0 0 0 Updated Apr 16, 2020
  • G1-Coroutine-Specification Public

    HertzScript Generation 1 Coroutine Specification (Obsolete)

    Shell 5 MIT 1 0 0 Updated Apr 16, 2020
  • Tasklet Public

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

    JavaScript 1 MIT 0 0 0 Updated Apr 16, 2020
  • VirtualMachine Public

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

    JavaScript 12 MIT 2 0 0 Updated Oct 22, 2019
  • Isolate Public

    Enables multiprocessing in V8 with HertzScript coroutines.

    JavaScript 1 MIT 0 1 0 Updated Oct 10, 2019
  • Compiler Public

    Produces preemptible JavaScript coroutines which conform to the HertzScript specification.

    JavaScript 9 MIT 1 0 1 Updated Sep 14, 2019
  • Velocity Public

    Velocity is a concurrent REPL for HertzScript coroutines. Code runs concurrently with the REPL.

    JavaScript 0 MIT 0 0 0 Updated Sep 13, 2019
  • HertzTest Public

    Comprehensive integration tests for the HertzScript compiler!

    JavaScript 1 0 0 0 Updated Aug 12, 2019

Top languages

Loading…

Most used topics

Loading…