Fear-list item: multi-process architecture.

Forums » Opera for Windows/Mac/Linux » Desktop wish-list

You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

24. August 2009, 16:59:59

rafaelluik

No needless bumping. No needless bumping.No needle

Posts: 2245

Fear-list item: multi-process architecture.

I think it sucks when we want to kill the browser process through "task manager", we never know what's the main one.
I really don't wanna Opera goes multi-process, really wouldn't like to see opera.exe more than one time a roll! p

I don't want this:
http://blog.chromium.org/2008/09/multi-process-architecture.html

BUT, AFTER ALL... I'm not the one with the rules.
I'd like to know what the community thinks about it, and let's do it democratically.

Multi Process.

Option Results Votes
I want Opera goes multi-process. result bar - $percentage % 58% 54
I don't want Opera goes multi-process. result bar - $percentage % 42% 39
Total number of votes: 93
OPERA is on FACEBOOK! Like!

25. August 2009, 05:49:46

ersi

stip.

Posts: 2525

The way Chrome does it makes its tabbed interface unusable already at a low number of tabs. Opera can do the biggest number of tabs with lowest resources according to my experience.

25. August 2009, 06:11:03

lucideer

a B person

Posts: 5114

The Chrome multi-process model is utterly useless. When you have a low number of tabs, (a) the browser should technically be a lot less likely to crash anyway, (b) crashing is not such a big issue as a smaller session restores a lot quicker, and you're not likely to have been doing much when the browser crashed if you had very few tabs open.

So essentially, the "stability" argument is most relevant when you have a large number of tabs open. Chrome is only really useful when you have very few tabs open (otherwise it slows to a crawl) - so for Chrome multi-process is really completely unnecessary. It's a Catch-22 - there is no use for multi-process tabs in browsers.

Multi-process plugins on the other hand is a different issue.

25. August 2009, 15:13:46

lucideer

a B person

Posts: 5114

@lince
Chris is referring to multi-threading, NOT to multi-process - don't confuse the two. Your quotes above are completely off-topic in this thread.

28. August 2009, 03:34:43

lucideer

a B person

Posts: 5114

Threads are essentially subsets of processes. They are not independent of each other and they occur within a single process. A thread is more about the timing of a particular process task, it's a matter of a single process being able to multi-task efficiently, usually on modern systems by using multiple processors simultaneously.

A multi-process architecture on the other hand spawns multiple completely separate processes, with all of the overheads attached to each individual process.

A huge amount of programs use multi-threading (possibly most modern apps do in some way) - multi-process is far far rarer. If you run Chrome with multiple tabs, and open task manager, you'll actually see the multiple Chrome processes - this is not something you see very often in any software.

28. August 2009, 07:48:23

serious

Lab mouse and likes it!

Posts: 5297

-1 for multiple processes; +1 for more threading (as far as it can be done without too much overhead going into synchronizing/memory)
All my posts only represent my own opinions.
[ Tweedo Monitor - Deluxe Website & Service Monitoring ]

28. August 2009, 11:35:59

svdb0

Posts: 68

If you're ever in a situation where your browser crashes because of something you do in one tab, only to take with it the almost finished message you were writing in another tab, you'll appreciate a multi-process browser.
Or if you're playing a Flash game in one tab, and something happens in another tab which causes your browser to crash and take your game progress with it.

If your task manager can't easily show you what is the main process, get a better task manager. (I don't know how that would work on Windows, but on Linux 'pstree -p' is very useful.)
Not that there would be much reason to kill the main process in a multi-process browser; if one page hangs, you can just close its tab. The global user interface, running in its own process, would remain responsive.

28. August 2009, 13:03:11

lucideer

a B person

Posts: 5114

Originally posted by svdb0:

If you're ever in a situation where your browser crashes because of something you do in one tab, only to take with it the almost finished message you were writing in another tab, you'll appreciate a multi-process browser.


I've literally NEVER been in that situation. And I use nightlies. There's a lot to be said for just having a stable browser.

Originally posted by svdb0:

Or if you're playing a Flash game in one tab, and something happens in another tab which causes your browser to crash and take your game progress with it.


I would support a multi-process browser that separated plugins instead of tabs. That's very different, and would actually be of use from a stability point of view.

Originally posted by svdb0:

The global user interface, running in its own process, would remain responsive.


This is a myth because the responsiveness of any interface is also intrinsically linked to the overall load on the processor. It doesn't work for Chrome, and wouldn't work for Opera.

28. August 2009, 15:33:10

svdb0

Posts: 68

Originally posted by lucideer:

Originally posted by svdb0:

If you're ever in a situation where your browser crashes because of something you do in one tab, only to take with it the almost finished message you were writing in another tab, you'll appreciate a multi-process browser.


I've literally NEVER been in that situation. And I use nightlies. There's a lot to be said for just having a stable browser.


I agree. However, Opera still crashes or hangs regularly. The latter mostly happens when multiple things suddenly pop up at the same time (like an RSS notification and a tool tip). And though that rarely gives rise to the situation described above, it does cost me time in preventative measures — copy-and-pasting the contents of my message in progress into an editor.

Originally posted by svdb0:

Or if you're playing a Flash game in one tab, and something happens in another tab which causes your browser to crash and take your game progress with it.


I would support a multi-process browser that separated plugins instead of tabs. That's very different, and would actually be of use from a stability point of view.


Opera does that, but per plugin type. It's actually in the NPAPI standard that each plugin can have multiple "instances".

Originally posted by svdb0:

The global user interface, running in its own process, would remain responsive.


This is a myth because the responsiveness of any interface is also intrinsically linked to the overall load on the processor. It doesn't work for Chrome, and wouldn't work for Opera.


I meant "responsiveness" as in "stopped responding" (completely). That would be the main reason for killing the main Opera process. And that happens to me multiple times a day. Though Opera sometimes also becomes temporarily unresponsive, apparently usually while doing DNS lookups.

28. August 2009, 16:37:30

lucideer

a B person

Posts: 5114

Originally posted by svdb0:

Opera does that, but per plugin type. It's actually in the NPAPI standard that each plugin can have multiple "instances".


Threading maybe, but it does not give plugins separate processes.

28. August 2009, 16:45:28

ersi

stip.

Posts: 2525

Originally posted by svdb0:

Opera does that, but per plugin type. It's actually in the NPAPI standard that each plugin can have multiple "instances".


'Another process' is another identified process in the task manager. Opera does not do that with plugins. No browser does that I know of.

Chrome's multi-process architecture means multiple instances of chrome.exe in the task manager as you open up more tabs. Plugin processes alongside with a single chrome.exe would be brighter.

28. August 2009, 17:54:48

rafaelluik

No needless bumping. No needless bumping.No needle

Posts: 2245

That's exactly what I don't want to see in Opera:
"Chrome's multi-process architecture means multiple instances of chrome.exe in the task manager as you open up more tabs."
yuck
OPERA is on FACEBOOK! Like!

28. August 2009, 18:28:21

serious

Lab mouse and likes it!

Posts: 5297

Originally posted by svdb0:

The global user interface, running in its own process, would remain responsive.


b.s., you don't need processes for that, that's what threads are for (interface runs as a thread and dispatches work to x workerthreads with a handler that is called when they are finished)
All my posts only represent my own opinions.
[ Tweedo Monitor - Deluxe Website & Service Monitoring ]

28. August 2009, 20:11:27

svdb0

Posts: 68

Originally posted by lucideer:

Threading maybe, but it does not give plugins separate processes.


Originally posted by ersi:

'Another process' is another identified process in the task manager. Opera does not do that with plugins.


$ ps -Lf axww
UID        PID  PPID   LWP  C NLWP STIME TTY      STAT   TIME CMD
[...]
svdb      2318  2277  2318 47    3 18:14 ?        SLl   98:53 /opt/opera-10.00-4520.gcc4-qt4.i386/lib/opera/10.00//operapluginwrapper 122 125 /mnt/hda7/opt/flashplayer-fixed/lib/flashplayer/libflashplayer.so
svdb      2318  2277  2323  0    3 18:14 ?        SLl    0:00 /opt/opera-10.00-4520.gcc4-qt4.i386/lib/opera/10.00//operapluginwrapper 122 125 /mnt/hda7/opt/flashplayer-fixed/lib/flashplayer/libflashplayer.so
svdb      2318  2277  2639  5    3 18:40 ?        SLl    9:31 /opt/opera-10.00-4520.gcc4-qt4.i386/lib/opera/10.00//operapluginwrapper 122 125 /mnt/hda7/opt/flashplayer-fixed/lib/flashplayer/libflashplayer.so
svdb     12164  2277 12164  0    1 22:07 ?        S      0:00 /opt/opera-10.00-4520.gcc4-qt4.i386/lib/opera/10.00//operapluginwrapper 66 69 /mnt/hda7/opt/AdobeReader-9.1.2/Browser/intellinux/nppdf.so

Two plugins, two processes (and a bunch of threads).

Originally posted by serious:

Originally posted by svdb0:

The global user interface, running in its own process, would remain responsive.


b.s., you don't need processes for that, that's what threads are for (interface runs as a thread and dispatches work to x workerthreads with a handler that is called when they are finished)


Did I say that a thread wouldn't work as well for that purpose? For not blocking the UI, threads are good enough. But if a thread crashes, the entire process goes down with it. That had better not be the main process then.

29. August 2009, 02:06:32

lucideer

a B person

Posts: 5114

Originally posted by svdb0:

Two plugins, two processes (and a bunch of threads).


Sorry, I forgot that Linux did this. Thanks for reminding me. Sadly, Windows doesn't.

19. December 2009, 16:18:36

ks328

operaddict

Posts: 41

x0
It's only for browsers that freeze/hang/lag frequently, so Opera doesn't need it at all.

21. December 2009, 14:52:59

Hades32

What I use:

Posts: 1917

Originally posted by rafaelluik:

I think it sucks when we want to kill the browser process through "task manager", we never know what's the main one.


You should use Process Explorer smile

I don't like the way chrome handles it, but an extra process per plugin (not per plugin instance) would be great. Flash, Java, Silverlight etc. are my main reasons for crashes and hangs...
Using Windows 7 64Bit SP1 and of course Opera
(If nothing else stated the most current weekly) on a nice Dell Studio XPS 16!

22. December 2009, 23:41:53

lucideer

a B person

Posts: 5114

Originally posted by Hades32:

extra process per plugin (not per plugin instance) would be great


+1

24. December 2009, 01:07:43

techwg

I'm not a PC, I'm a HB

Posts: 281

I am all for multi threadding long as it does not negatively effect over all system usage too much. If it makes the browser more stable then i think thats awesome. Just don't make me have to do a broad spectrum termination of 60+ opera.exe process's with tskill opera
Close your mind and you will only see what you have always seen. Open your mind and your eyes will see more.

24. December 2009, 14:27:43

Hades32

What I use:

Posts: 1917

Originally posted by techwg:

I am all for multi threadding long as it does not negatively effect over all system usage too much. If it makes the browser more stable then i think thats awesome. Just don't make me have to do a broad spectrum termination of 60+ opera.exe process's with tskill opera


You are mixing threads and processes here. Opera already uses multiple threads, but not many. Threads are all contain within one entry in the task manager.
Using Windows 7 64Bit SP1 and of course Opera
(If nothing else stated the most current weekly) on a nice Dell Studio XPS 16!

2. January 2010, 10:15:22

MrWhisper

Posts: 86

ahh

I think it better if we can separate a tab to another process for some tabs that may crash Opera.

for example, On My PC, Silverlight may freeze Opera for sometime. when I want to see some page that contain Silverlight. I should able to right click on link and select "Open in a new separated process" this will more useful for Opera than Google Chome's way.

3. January 2010, 17:39:44

lucideer

a B person

Posts: 5114

Originally posted by MrWhisper:

I think it better if we can separate a tab to another process for some tabs that may crash Opera.

for example, On My PC, Silverlight may freeze Opera for sometime. when I want to see some page that contain Silverlight. I should able to right click on link and select "Open in a new separated process" this will more useful for Opera than Google Chome's way.


In that case, a much better solution would be to separate Silverlight (i.e. each 3rd party plugin) into a separate process, not the tab itself. As has been suggested above.

11. February 2010, 01:55:06

uniqiq

Posts: 213

I don't want multiple-processes for tabs. Reasons:
- less efficient and scalability when many tabs are opened.
- problems with processes communication, common resources access, synchronization of bookmarks, etc

instead:

My idea is to create multiple-processes for windows, so I could
- choose myself, how many processes I want to create
- manage prority, security policy, etc. for each process separatly
- know, that crash of one window will not cause crash of other windows

So:
-1 multiple-processes for tabs
+1 multiple-processes for windows

What do you think about this?

11. February 2010, 14:01:33

c69

Posts: 353

WHAT and HOW are different questions.

So
- idea of 1 tab being unable to crash or lock the whole browser is very nice.
- idea of seeing 200-300 child opera processes is not realy fun ..

13. February 2010, 11:39:42

uniqiq

Posts: 213

Originally posted by c69:

WHAT and HOW are different questions.

So
- idea of 1 tab being unable to crash or lock the whole browser is very nice.
- idea of seeing 200-300 child opera processes is not realy fun ..



I agree. That's why I like this idea: one process for each window, not for each tab.

13. February 2010, 22:07:30

Hades32

What I use:

Posts: 1917

Originally posted by uniqiq:

I agree. That's why I like this idea: one process for each window, not for each tab.


AND per plugin! You know, 99% of my crashes/hangs are Flash issues (for me).
Using Windows 7 64Bit SP1 and of course Opera
(If nothing else stated the most current weekly) on a nice Dell Studio XPS 16!

14. February 2010, 00:10:31

uniqiq

Posts: 213

Originally posted by Hades32:

Originally posted by uniqiq:

I agree. That's why I like this idea: one process for each window, not for each tab.


AND per plugin! You know, 99% of my crashes/hangs are Flash issues (for me).



True.

14. February 2010, 00:25:26

mimi_s_mum

Queen of DIY & rugby loving sicfi buff translator

Posts: 2785

Originally posted by uniqiq:

-1 multiple-processes for tabs
+1 multiple-processes for windows

You read my mind. I was going to suggest that myself. smile
Definitely +1 from me.

Originally posted by uniqiq:

My idea is to create multiple-processes for windows, so I could
- choose myself, how many processes I want to create
- manage prority, security policy, etc. for each process separatly
- know, that crash of one window will not cause crash of other windows

Another advantage for bilingual users is that you can set different input language per window.
Desktop OS: Windows 8 x64 + 7 x64 sp1 x2 + XP sp3; Mobile OS: Android 4.0.4; Other specs (outdated, sorry)
New Zealand All Blacks the 2011 Rugby World Cup Champion knight

Want to send me a message? Send it to mimismum(at)myopera.com (not mimi_s_mum@myopera.com)

19. July 2010, 09:44:46

metude

won't online 20.6.11-20.8.11

Posts: 5206

Plugins in opera goes multiprocess but Opera tabs shouldn't do that...

9. November 2010, 13:55:35

HeinrichP

HeinrichP

Posts: 392

I can strongly agree about that the architecture slows down chrome and my computer, but in the end it's smart, that not everything gets lost, if Chrome crashed. In contrary to this, Opera is almost un-crashable and very good in restoring what is lost.

On the other hand, I would like to see / suggest a plenty more restore-features.

E.g.:

http://www.mozilla.com/en-US/firefox/features/#performance (faster and more reliable page-loading) for instance I do not understand why the page needs to be 100% loaded before you can shift to that tab, without still seeing the old tab.

(from http://www.mozilla.com/en-US/firefox/features/#session-restore )
"Restart the browser without losing your place after you install an add-on or software update. And, if Firefox or your computer unexpectedly closes, you don’t have to spend time recovering data or retracing your steps through the Web. If you’re in the middle of typing an email, you’ll pick up where you left off, even down to the last word you typed. Session Restore instantly brings back your windows and tabs, restoring text you entered and any in-progress downloads, and we’ve updated it to make sure you get back to what you were doing even more quickly than before."

<a href="http://my.opera.com/community/download.pl?ref=HeinrichP&p=opera_desktop"><img src="http://promote.opera.com/myopera/opera.jpg" alt="Download Opera, the fastest and most secure browser"></a>

My Opera Wishlist (scan to see:)
http://bit.ly/heinrichpwishlistqrcode

10. November 2010, 15:34:51

QuHno

Posts: 973

I use some kind of "Multi Process Opera" right now: 3 Instances of Opera running with different profiles for different purposes - more: One of them is a different version.

Conclusion: If you fear, that some Flash content or other things may lead to a crash, deactivate Flash in the main profile and use another profile to open it. If that crashes, the main profile won't get hurt and the main instance for serious work will run unaffected.

10. November 2010, 16:39:47

rafaelluik

No needless bumping. No needless bumping.No needle

Posts: 2245

@HeinrichP you suggested features that Opera already has! p
OPERA is on FACEBOOK! Like!

11. November 2010, 22:46:24

jeremysee

Posts: 16

Chrome's process-per-tab thing is the devil. I can have 10x more tabs open in Opera without it slowing down.

19. November 2010, 13:02:34

HeinrichP

HeinrichP

Posts: 392

@rafaelluik: I don't think it has email restoring down to the very last word you typed (perhaps Opera Mail has that but I use an email-provider on the web)
<a href="http://my.opera.com/community/download.pl?ref=HeinrichP&p=opera_desktop"><img src="http://promote.opera.com/myopera/opera.jpg" alt="Download Opera, the fastest and most secure browser"></a>

My Opera Wishlist (scan to see:)
http://bit.ly/heinrichpwishlistqrcode

19. November 2010, 16:36:53

ViperAFK

Posts: 332

Originally posted by rafaelluik:

I think it sucks when we want to kill the browser process through "task manager", we never know what's the main one.
I really don't wanna Opera goes multi-process, really wouldn't like to see opera.exe more than one time a roll! p

I don't want this:
http://blog.chromium.org/2008/09/multi-process-architecture.html

BUT, AFTER ALL... I'm not the one with the rules.
I'd like to know what the community thinks about it, and let's do it democratically.



There's something wrong if you are needing to kill your broswer through the task manager in the first place.

21. November 2010, 22:46:17

rafaelluik

No needless bumping. No needless bumping.No needle

Posts: 2245

Originally posted by ViperAFK:

There's something wrong if you are needing to kill your broswer through the task manager in the first place.

There's something wrong when you need your browser to separate the tabs in their own processes to prevent crashes in first place... wink
OPERA is on FACEBOOK! Like!

22. November 2010, 19:58:41

ViperAFK

Posts: 332

Yes but opera can't prevent poor website coding and poorly coded plugins. I agree separate processes for every tab isn't necessary (although I wouldn't be opposed to it) but at the very least there should be a separate plugin process like firefox has (and opera on *nix already has)

24. November 2010, 02:40:11

rafaelluik

No needless bumping. No needless bumping.No needle

Posts: 2245

Originally posted by ViperAFK:

at the very least there should be a separate plugin process like firefox has (and opera on *nix already has)

I support exactly that idea. smile
OPERA is on FACEBOOK! Like!

16. May 2012, 03:29:14

Bastante

Posts: 33

Here is something interesting to note:
Back with Firefox 2.0 some silly tried to make IE6 look bad by comparing "50 tabs of Fx" to "50 processes of IE". Needless to say those processes chewed up a ton of memory and made Fx look very good... until he was forced to redo the test for the "Totally hidden New Window Feature"... and then it made Firefox look so bad he only published the IE-64 bit results.

The point is that new processes are NOT good. What you actually need is "hang detection", or even a "Opera Task Manager" (external process that can close tabs in opera).

I open TONS of new windows; and think people who have 50 tabs in 1 window are sillies who don't understand how to manage windows p, I don't want my performance degraded simply because a tab may crash; opera INTENTIONALLY made itself operate in 1 process for all the efficiency benefits it gets. (Actually, I thought chrome was using "smart processes" before now, when they talked about having tabs as separate processes, I thought they meant they built their own "Multitasking System" into the browser and were doing by code. Not by windows... uhh... stuff.)

16. May 2012, 04:16:35

QuHno

Posts: 973

Originally posted by Bastante:

What you actually need is "hang detection", or even a "Opera Task Manager" (external process that can close tabs in opera).


+1

+ a memory watchdog that automatically kills the process or gives an option to kill it when it runs wild.

Especially Opera 12x64 with HWA and WebGL really needs it because Opera is atm the only browser, that manages to bring my system down by eating up everything the system has - in some tests the swap file for Opera alone became bigger than 10GB, meaning: 100% of the 8GB RAM + 10GB additional swap which off course made the whole system nor responding! I would have loved being capable to kill that without pressing the hardware reset button, but Opera blocked everything, no interaction possible. It was not even possible to kill the Opera process because the whole operating system UI was blocked.

16. May 2012, 06:36:39

Penge4

bug hunter

Posts: 315

Originally posted by QuHno:

a memory watchdog that automatically kills the process or gives an option to kill it when it runs wild.


+1 BTW I know only one program on Windows which can something similar (Process Lasso). But that is a full task manager and this feature not developed properly. It's only able to kill process or switch affinity or change priority when
1. "memory usage bigger than X" (x = fix value)
2. "CPU usage higher than x for Y seconds/minutes"

I always wanted some feature like "If memory consumption will be increased x percent of the actual consumption during less than y seconds (for example: will go from 400MB to 800MB during less than 10 seconds) I will get an always on top notification with a countdown timer. If I don't approve until the timer expires (this is a security check for example if I want to open this image in the browser bigsmile) it will kill the process.

4. June 2012, 23:30:04

joezespak

Posts: 31

Originally posted by ViperAFK:

Yes but opera can't prevent poor website coding and poorly coded plugins. I agree separate processes for every tab isn't necessary (although I wouldn't be opposed to it) but at the very least there should be a separate plugin process like firefox has (and opera on *nix already has)



Indeed, I can live with per-window/tab process being optional, but losing a window cos one tab crashes the browser and manually checking tabs one-by-one to see which one and which site is the actual culprit isn't fun either.

23. June 2012, 14:27:36

HeinrichP

HeinrichP

Posts: 392


I support the idea with "hang detection", though I would rather see a "Aww Snap"-page that I then can reload instead of the tab being closed. In this connection it would only be great to also save the text down-to-the-very-last-comma, so we don't need to rewrite an entire blog post or email.

http://my.opera.com/community/forums/topic.dml?id=1000812#poll
and
http://my.opera.com/community/forums/topic.dml?id=1053862
<a href="http://my.opera.com/community/download.pl?ref=HeinrichP&p=opera_desktop"><img src="http://promote.opera.com/myopera/opera.jpg" alt="Download Opera, the fastest and most secure browser"></a>

My Opera Wishlist (scan to see:)
http://bit.ly/heinrichpwishlistqrcode

Forums » Opera for Windows/Mac/Linux » Desktop wish-list