[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
NEWS
With 75 commits since 0.8.3 this relase brings few, but important improvements
to
the core of the virtual machine.
SMP
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).
INSTANT DETACHING
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.
LAUNCH-TIME CONFIGURABLE SCHEDULER NUMBERS
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
number
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
-----------------------------------------------------------------------
hooks/post-receive
--
UNNAMED PROJECT
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Viuavm-commits] [SCM] UNNAMED PROJECT annotated tag v0.8.4 created. v0.8.4,
git <=