[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Viuavm-commits] [SCM] UNNAMED PROJECT annotated tag v0.8.4 created. v0.

From: git
Subject: [Viuavm-commits] [SCM] UNNAMED PROJECT annotated tag v0.8.4 created. v0.8.4
Date: Sat, 10 Sep 2016 11:40:01 +0200 (CEST)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "UNNAMED PROJECT".

The annotated tag, v0.8.4 has been created
        at  d60481cafdaaf55fef521feb27341b1105026cea (tag)
   tagging  afc4b74477b449063f2d876452c94f8be63409fe (commit)
  replaces  v0.8.3
 tagged by  Marek Marecki
        on  Sun Aug 28 16:26:16 2016 +0200

- Log -----------------------------------------------------------------
Release 0.8.4


With 75 commits since 0.8.3 this relase brings few, but important improvements 
the core of the virtual machine.


Viua now support simultaneous multiprocessing for virtual processes.
The maximum number of virtual process that can be run in parallel depends on 
the settings the machine
is started with, and is limited by capabilities of the underlying hardware (for 
example - the VM will
not run 4 processes in parallel if only two CPU cores are available, assuming 
each core can run only
one thread).


Processes can be spawned as immediately detached, by using 0 as the target 
register index.
The VM will interpret this as "spawn this process and execute it, and I am not 
interested in
communicating with it".
The VM will give parent process neither the possibility of joining spawned 
process, nor will it
return a PID for the process.


Viua can be instructed to spawn a certain number of VP and FFI schedulers at 
launch-time, the limits
are no longer hard-set at compile time.
The number of spawned schedulers can not be changed at runtime.

Two environment variables control the number of schedulers spawned:

- VIUA_VP_SCHEDULERS: for number of VP schedulers
- VIUA_FFI_SCHEDULERS: for number of FFI schedulers

The CPU frontend provides the `--info` option; among other things, it provides 
information about
scheduler numbers the VM would spawn in current evironment.
Use `--json` option to get `--info` output in JSON format.

Marek Marecki (75):
      Add overload of operator() to VPS
      Small refactoring
      Remove unused CPU member
      Remove unused CPU member variables
      Crude draft code running VPS in a thread
      Store free processes in unique_ptr<>s
      List running and idle VP schedulers
      Define heavy load as 16 processes for a single scheduler (testing)
      Post free processes to CPU if VPS hits heavy load, fetch free when VPS 
has nothing to run
      Fix: always return pointer to newly spawned process
      Fix adopt processes until light load is reached or there are no free 
processes left
      Request more details from Valgrind
      Python fix
      Python fix
      Change wait time to 10 milliseconds
      Update Valgrind suppressions for TravisCI
      Spawn two VP schedulers (testing)
      Test multiple schedulers
      Fix always show starting function in stack trace
      Update code to match documentation
      Add PID type to represent process identifiers
      Each process contains an object representing its own PID
      Add mailboxes to CPU
      Add methods for mailbox creation and deletion
      Mailboxes are created and deleted with processes
      Make PID usable as key in std::map<>
      Remove unnecessary function call, reuse pointer fetched earlier
      Implement CPU::send(pid, message) message
      Save messages to mailbox
      Lock mailboxes when adding or removing one
      Mark watchdog as "hidden" process
      Route all messages through CPU
      Add PID::get() function returning a raw process handle
      Add a primitive debug log (to be removed later)
      Remove redundant const
      Pass messages through mailboxes in CPU, closes #159
      Merge branch 'devel' into issue/154/spawn-more-than-one-vp-scheduler
      Tick checking based on real progress
      VP schedulers manage their own threads
      Use VP schedulers to spawn their threads
      Stay C++11 compatible
      Fix a typo
      Disable problematic tests, reenable them later (refactoring is a cold 
mother sometimes)
      Use more relaxed memory order
      Move constructor for VP schedulers (for emplace_back())
      Store VP schedulers in a vector, provide for easy adjusting of their 
      Fix VP scheuler ticked condition
      Reenable process orphaning tests
      Fix initialise Process::is_hidden in constructor
      VM can spawn and use multiple VP schedulers, closes #154
      Update README
      Update release schedule
      Use "process 0" to immediately detach a process
      Simplify code using "process 0" idiom for detaching processes
      Add Process::empty() method checking if process has messages ready to be 
received immediately
      Stop worker also if it has no messages
      Add test for pathologically broken watchdog
      Update Changelog
      Introduce current_load to keep track of real load on a VPS
      Number of VP schedulers is launch-time configurable, closes #156
      Number of FFI schedulers is launch-time configurable
      Fix type errors detected by Clang
      Use uint8_t as byte type
      Use uint8_t to enumerate operand types
      Move default number of FFI registers to static member in CPU
      Add functions determining number of schedulers to use
      Improve help screen of CPU frontend
      Reuse CPU::no_of_*_schedulers() functions
      Update Changelog
      Factor common logic in CPU::no_of_*_schedulers() out
      Fix use static members in decltype() in static member functions
      Fix number of schedulers cannot be zero
      Postpone further changes to "process" opcode to 0.8.5
      Keep "join" opcode for purposes of scatter-gather processing
      Release 0.8.4



reply via email to

[Prev in Thread] Current Thread [Next in Thread]