There is active work on parallel JS with a range of approaches to shared 
memory parallelism.  I maintain a list of parallel JS projects 
<https://github.com/SyntheticSemantics/List-of-Parallel-JS-Projects/> and 
am interested in finding applications that use them.  Are you working with 
a particular application that lead to a requirement for shared-memory 
parallel JS?

                  -J


On Monday, January 8, 2018 at 7:30:33 AM UTC-8, Bogdan wrote:
>
> I understand that updating object in shared memory need synchronization 
> and even with in-memory database task in general there will be a global 
> lock (not per-object because transaction will spread by different tables 
> and object) and only one process will write to memory so I think just 
> global lock will be enough for most tasks. But reading from shared memory 
> is safe and there is no reason to not use all cpu cores to achieve more 
> performance and that's why go and other languages will overcome js in this 
> tasks. But I hope js will be able to compete and new features like 
> SharedArrayBuffer and atomics seems like moving forward javascript to the 
> right direction and I don't see why "JavaScript is not designed for such 
> purposes.". Does SharedArrayBuffer supposed to do zero copy reading in 
> different workers? How it implemented - by multiple threads or maybe it 
> already using shared memory and different process?
>
> On Mon, Jan 8, 2018 at 6:04 PM, Jakob Kummerow <jkum...@chromium.org 
> <javascript:>> wrote:
>
>> No, you cannot simply share all memory to get multi-threading. For 
>> safely/correctly working with shared memory, you need 
>> locking/synchronization primitives as well as certain guarantees in the 
>> language's memory model. JavaScript is not designed for such purposes.
>>
>>
>> On Mon, Jan 8, 2018 at 3:52 PM Bogdan <bgno...@gmail.com <javascript:>> 
>> wrote:
>>
>>> I don't know all details, I just a regular node developer who came up 
>>> with idea of "threading" in js and hope anybody with deep knowledge will 
>>> clarify some things. Javascript have old problem of lacking threading and 
>>> all advices of using multiple processes doesn't help because there are 
>>> important tasks  (for example in-memory database or managing application 
>>> cache) which needs shared memory to utilize all cpu cores and having full 
>>> copy of that memory and synchronizing it by coping data over channels 
>>> doesn't make sense. Recently I've found out an interesting linux feature 
>>> like shader memory with shm_open and mmap which can allow zero-copy and 
>>> zero-overhead access to shared memory from different processes. There are 
>>> also some node modules which exposes this feature to javascript but seems 
>>> like all they can do is exposing  shared memory to javascript as an array 
>>> which means all object managing, garbage collector, and other useful 
>>> features we need to do all by ourselves. So I am wondering can v8 (if 
>>> cannot now, maybe in it will with little hacking) allow to just map all 
>>> heap into shared buffer so we can use the same objects from another process 
>>> without copying?
>>>
>>> -- 
>>> -- 
>>> v8-users mailing list
>>> v8-u...@googlegroups.com <javascript:>
>>> http://groups.google.com/group/v8-users
>>> --- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "v8-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to v8-users+u...@googlegroups.com <javascript:>.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>> -- 
>> -- 
>> v8-users mailing list
>> v8-u...@googlegroups.com <javascript:>
>> http://groups.google.com/group/v8-users
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "v8-users" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/v8-users/2Z2UFFQrziE/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> v8-users+u...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to