[SERVER-4258] v8: switch to Isolates to enable JS multi-threading Created: 11/Nov/11 Updated: 11/Jul/16 Resolved: 22/Dec/11 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | JavaScript |
| Affects Version/s: | None |
| Fix Version/s: | 2.1.0 |
| Type: | Improvement | Priority: | Major - P3 |
| Reporter: | Antoine Girbal | Assignee: | Antoine Girbal |
| Resolution: | Done | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Participants: |
| Description |
|
Right now v8 using a single (implicit) Isolate. Switching to Isolates and removing the mutex would allow full multithreading. |
| Comments |
| Comment by Eric Milkie [ 21/Nov/12 ] |
|
There are some issues with V8 that will be fixed for the upcoming 2.4 release. I can't recommend running server version 2.2 with V8 at this time. When 2.4 comes out, there will no longer be one mutex around the JS interpreter in the server. |
| Comment by Guido Serra [ 21/Nov/12 ] |
|
hi guys, this ticket in mentioned as "coming!" in the documentation at http://www.mongodb.org/display/DOCS/How+does+concurrency+work > JavaScript but seems pretty "Closed" to me... isn't it? shall I take advantage of it with an "enabling flag" in my queries, or is working by default giving me full access to all cpu cores for parallel threading/computation? or do I STILL get isolated/serialized to one ? |
| Comment by auto [ 29/Dec/11 ] |
|
Author: {u'login': u'agirbal', u'name': u'agirbal', u'email': u'antoine@10gen.com'}Message: |
| Comment by Antoine Girbal [ 22/Dec/11 ] |
|
regular tests are passing, parallelTests have passed several times. |
| Comment by auto [ 15/Nov/11 ] |
|
Author: {u'login': u'agirbal', u'name': u'agirbal', u'email': u'antoine@10gen.com'}Message: |
| Comment by auto [ 15/Nov/11 ] |
|
Author: {u'login': u'agirbal', u'name': u'agirbal', u'email': u'antoine@10gen.com'}Message: |
| Comment by Antoine Girbal [ 11/Nov/11 ] |
|
this was implemented as part of From what I see, mutex was only protecting the global interrupt map. |