JRE with multi-processors
Does anybody know whether JRE 1.3 is able to work well in a multi-processor computer with Unix OS
if so, how to implement this ? which parameters does one have to initilize in the JVM so it would work?
if not, how does it work with JVM 1.4 if at all
Threaded code on a single cpu gets timesliced/swapped by the underlying OS but on a multi-CPU system, you get true
parallel execution for free.
Scott Oaks & Henry Wong have a chapter on this in the O'Reilly Java Threads book.
Similar Messages
-
Oracle on dual-/multi- processor server
I have a question regarding Oracle on dual (or multi) processor servers. I have purchased 2 copies of the standard edition. I installed it on the server with 2 processors.
My question is whether or not there is something different in the installation for multi processors.
Another question would be if it is possible to install the database on a dual processor, if you only have a single copy of the license.The licenses are acquired by CPU or by users and you acquired the license for only 1 processor you must not install it on a server with 2 processors. Your enterprise can have legal problems if that situation occurs.
Joel Pérez -
Concurrency in Swing, Multi-processor system
I have two questions:
1. This is a classic situation where I am looking for a definitive answer on: I've read about the single-thread rule/EDT, SwingWorker, and the use of invokeLater()/invokeAndWait(). The system I am designing will have multiple Swing windows (JInternalFrames) that do fairly complex GUI work. No direct interaction is needed between the windows which greatly simplifies things. Some windows are horrendously complex, and I simply want to ensure that one slow window doesn't bog the rest of the UIs. I'm not entirely clear on what exactly I should be threading: the entire JInternalFrame itself should be runnable? The expensive operation within the JInternalFrame? A good example of this is a complex paint() method: in this case I've heard of spawning a thread to render to a back-buffer of sorts, then blitting the whole thing when ready. In short, what's the cleanest approach here to ensure that one rogue window doesn't block others? I apologize if this is something addressed over and over but most examples seem to point to the classic case of "the expensive DB operation" within a Swing app.
2. Short and sweet: any way to have Swing take advantage of multi-processor systems, say, a system with 6 processors available to it? If you have one Swing process that spawns 10 threads, that's still just one process and the OS probably wouldn't be smart enough to distribute the threads across processors, I'm guessing. Any input on this would be helpful. Thank you!(1) You need to use a profiler. This is the first step in any sort of optimization. The profiler does two important things: First, it tells you where are the real bottlenecks (which is usually not what you expect), and eliminates any doubt as to a certain section of code being 'slow' or 'fast'. Second, the profilter lets you compare results before and after. That way, you can check that your code changes actually increased performance, and by exactly how much.
(2) Generally speaking, if there are 10 threads and 10 CPU's, then each thread runs concurrently on a different CPU.
As per (1), the suggestion to use double buffering is the likely best way to go. When you think about what it takes to draw an image, 90% of it can be done in a worker thread. The geometry, creating Shapes, drawing then onto a graphics object, transformations and filters, all that can be done offline. Only copying the buffered image onscreen is the 10% that needs to happen in the EDT thread. But again, use a profiler first. -
IPC on multi-processor environment
I have written a C program which uses IPC resource "message queue" and "shared memory" on a single processor SUN Sparc workstation (with
Solaris 2.5.1 OS).
I would like to know whether my program can function correctly if it runs on a multi-processor SUN platform (e.g. Sun HPC model 450 with more than 1 CPU installed).
Does anyone have any experience on this?
Best Regards,
AnnieHi.
The IPC features will work find in an MP environment. It is designed for processes which are normally protected from each other to be able to exchange data. You just have make sure that access to your message queue or especially shared memory is synchronised between multiple processes by using semaphores (see semget(2)).
You could also look at using just one process but multithreading it.
The multithreaded programming guide covers the issues.
Have you expereienced a particular problem?
Regards,
Ralph
SUN DTS -
Upgrading from single processor to multi processor
I am looking for information on upgrading a 7.3 Oracle from a
single processor to a multi processor. I will be putting in
another processor in my server and would like to know how to get
Oracle to use this second processor. I know that I need to
upgrade Windows NT to multiprocessor first but what do I need to
do after that with Oracle.I'm not certain why that would be the wrong boards. I guess HP has the wrong boards posted on their product's support site at the link below.
http://h20000.www2.hp.com/bizsupport/TechSupport/Home.jsp?lang=en&cc=us&prodTypeId=12454&prodSeriesI...
When I clicked on Support Forum, that is where it took me.
↙-----------How do I give Kudos?| How do I mark a post as Solved? ----------------↓ -
Multi-processor Multi-Threaded deadlock
Hi all-
I've posted this over at jGuru.com and haven't come up with an effective solution but I wanted to try here before I reported this as a bug. This deals with kicking off many threads at once (such as might happen when requests are coming in over a socket).
I'm looking for a way to find out when all of my threads have finished processing. I have several different implementations that work on a single processor machine:
inst is an array of 1000+ threads. The type of inst is a class that extends threads (and thus implements the runable interface).
for (i = 0;i<Count;i++)
inst[ i ].start()
for (i = 0;i<Count;i++)
inst[ i ].join();
however this never terminates on a multiprocessor machine. I've also tried an isAlive loop instead of join that waits until all threads have terminated until it goes on. Again, this works on the single processor but not the multi-processor machine. Additionally someone suggested a solution with a third "counter" class that is synchronized and decremented in each thread as processing finishes, then a notifyAll is called. The main thread is waiting after it starts all the threads, wakes up to check if the count is zero, and if it's not it goes back to sleep. Again this will work on the single processor but not the multi-processor.
The thread itself ends up doing a JNI call which in turn calls another DLL which I just finished making thread safe (this has been tested via C programs). The procedures are mathematically intensive but calculation time is around half a second on a P3 800Mhz.
Any help on this is greatly appreciated. My next step will likely be tearing down the application to exclude the calculating part just to test the JVM behavior. Is there a spec with the JVM behavior on a multi processor machine, I haven't seen one and it's hard to know what to expect from join() (joining across to processors seems like wierd concept), getCurrentThread() (since 2+ threads are running at the same time), etc.My next step will likely be tearing down the application to
exclude the calculating part just to test the JVM behavior.Sounds like a really good idea.
Is there a spec with the JVM behavior on a multi processor machine, The behaviour of threads is defined in the specs.
You might want to check the bug database also. There are bug fixes for various versions of java. -
Multi Processor rendering & editing optimization
Hello,
Got some great info here from my last post! So thanx
So my question is...is it more ideal to use Xeon or multi processor board setups than single CPU chips? My main aim is for rendering or workflow turnaround since in the next couple of months I might land a nice spot in the top five post companies in my sector...god willing.
Therefore I plan to build a completely new system either focused on Multi CPU or buying multi crossfire Open CL rendering GPU cards. I can't find any documentation or recommendations for improved performances in rendering speeds or realtime fx with a Multi CPU board or the NOW added multi Stream or CUDA GPU (SLI or CrossFire) rendering setups.
if anybody could explain any myths or facts as to how Premiere Pro takes advantage of CPUs or GPUs would be a big help. I'm currently using a Quadro 2000 and an i7-990x with 24gb of memory.
thnxIs your quaddro connected to a 10 bit monitor?
If not, you would be better served by a faster GTX card
Best Video Card http://forums.adobe.com/thread/1238382
Also, view the results of the CS5 Benchmark http://ppbm5.com/ to see what is fast -
Multi processor Solaris 2.6 and mutex locks
hi,
is anyone aware of any documented issues with Solaris 2.6 running
on dual-SPARC processors (multi-processor environment) where the
programs using "mutex locks" (multi-threaded applications), require
some special handling, in terms of compiling and linking, to some
special libraries.
as far as i remember, in some OS book, maybe Peterson's, it was said
that the mechanism for implementing mutex-locks on multi-processor
systems is to use low-level spin-locks. this brings down performance
on a single-processor system, making the processor doing busy-wait,
but this happens to be the only way of mutex-locking in a multi-processor
system. if this is so, then where is such behaviour documented in case
of Solaris 2.6.
i have had problems with my applications crashing (rathing hanging up)
in a vfork() on such a system, but same application works fine, with
100% reproducability, on a single-processor system.
thanks for any inputs or suggestions and/or information.
regards,
banibrata duttaI am also facing similar problem. Application which written using Mulit-Threaded using Posix Mutexes. When i run on SINGLE processor manchine, i.e.
SunOS sund4 5.7 Generic_106541-11 sun4u sparc SUNW,Ultra-5_10
It works perfectly.
But when try to run on dual processor machine, i.e.
SunOS sund2 5.7 Generic_106541-11 sun4u sparc SUNW,Ultra-250
It is blocking in the one of mutexes.
Please inform us what is problem. Mr. B. Datta, you comes to know
any channel, please inform me also at [email protected]
Thanx & regards,
-venkat -
A few questions about WLS 5.1 on multi-processor machines:
1. Is there anything that needs to be done(other than purchase another
license) for a weblogic server to work on a multi-processor system?
2. Will WLS take advantage of all processors with just ONE invocation of WLS?
Or will I have to run one instance of WLS for each processor?
3. Will performance gains be uniform or will certain features gain more
from multiple processors?
Any answers, insights or pointers to answers are appreciated.
Thanks.
-Heng>
I consider WebLogic to be a great no-nonsense J2EE implementation (not
counting class loaders ;-).Look for major improvements in that area in version 6.0.
Thanks,
Michael
Michael Girdley
BEA Systems Inc
"Cameron Purdy" <[email protected]> wrote in message
news:[email protected]...
Rob,
I consider WebLogic to be a great no-nonsense J2EE implementation (not
counting class loaders ;-). Gemstone's architecture is quite elaboratewhen
compared to WebLogic, and BTW they spare no opportunity to compare to
WebLogic although never by name. (Read their white paper on scalabilityto
see what I mean.) I am quite impressed by their architecture; it appearsto
be set up for dynamic reconfiguration of many-tier processing. Forexample,
where WL coalesces (i.e. pass by ref if possible), Gemstone will always
distribute if possible, creating a "path" through (e.g.) 7 levels of JVMs
(each level having a dynamic number of JVMs available in a pool) and if
there is a problem at any level, the request gets re-routed (full failover
apparently). I would say that they are set up quite well to solve the
travelling salesperson problem ... you could probably implement aweb-driven
neural net on their architecture. (I've never used the Gemstone product,
but I've read about everything that they published on it.) I would assume
that for certain types of scaling problems, the Gemstone architecturewould
work very very well. I would also guess that there are latency issues and
administration nightmares, but I've had the latter with every app server
that I've ever used, so ... $.02.
Cameron Purdy
[email protected]
http://www.tangosol.com
WebLogic Consulting Available
"Rob Woollen" <[email protected]> wrote in message
news:[email protected]...
Dimitri Rakitine wrote:
Hrm. Gemstone reasons are somewhat different.I'm not a Gemstone expert, but I believe their architecture is quite
different from a WebLogic cluster. Different architectures might have
different trade-offs.
However, out of curiosity, what are their reasons?
Anyway, here is my question:
why running multiple instances of WL is more efficient than running
one
with
high execute thread count?The usual reason is that most garbage collectors suspend all of the jvm
threads. Using multiple WLS instances causes the pauses to be
staggered. Newer java vms offere incremental collectors as an option so
this may no longer as big of an issue.
-- Rob
> -
Multi-threads will run better on multi-Processores environment?
Are there any proof to say that Multi-threads will run better on multi-Processores environment?
Will Java run better on multi-Processores environment? Are there any proof?
Thank in advanceAre there any proof?The proof is in the pudding, so to speak. The best thing to do is to benchmark your application on single and multi-processor machines.
It should be noted that there are reports of threading problems with Java on multi-processor machines. I haven't seen the problems myself, nor do I remember the exact problems people were seeing (and on what OS/Hardware) but if you search these forums you should be able to find out the details. -
Photoshop Element 7 Multi Processor Support?
Will we have multiprocessor support across the entire feature set of PSE 7? I haven't seen that as part of the feature set of the new product. Today, we experience diminished functionality by having to turn off multi-processor support in order to get thumbnails to work. Just curious if that might have been included in the new product.
Paul posted his query before PSE 7 was released, but for future reference of people searching these forums:
PSE 7 fixes the notorious bug in PSE 6 in which thumbnails for raw photos were not correctly displayed on computers with multiple processors (e.g. hyperthreaded Pentiums or dual- or quad-core Duos). -
Support Multi processor in ms windowsp
Hi, looking for a new Mac but need to run windows programs such has @risk.
my question is simple when running Windows using software such has Parallel would multi processor be supported?
would it be supported if I reboot in Ms-windows, with Boot camp? In that second case it sound likely
thanksIf the OS and app suports multiprocessors then they can be used in both a virtual machine such as Parallels and is BootCamp. In Parallels you select how many cores yo want the virtual machine to use as well as how much memory.
Windows XP home does not support multiple processors -
I must say that the only feature that will make me upgrade ever again from CS4 (or even to upgrade my MacPro) would be full multi-processor support.
Unfortunately, Adobe has been introducing new features that turn out to be imperfect and NEVER get updated or fixed any more.
Hoping for CS5 to come through!You're right. What I meant was FULL multi-processor support.
Like saving and opening files, especially when saving large, multi-layered 16 bit files. Just tested it again - a file that is 2.91GB when opened in photoshop (which any file I work on typically is) takes 42 seconds to save as an 8 bit file and (after deleting layers to make it the same 2.91GB when open in photoshop in 16 bit format) takes 5min and 20 seconds to save in 16 bit while the activity monitor shows only one processor being utilized.
I would like to work more in 16 bit but it's not practical now as it takes too long for just the saving part.
At least it should be non-modal so that you could work on another image while others are being saved and/or opened.
There are also a few filters that do not use multiple processors - like the lens blur filter, which works amazingly well but makes me take a coffee break every time I use (especially when used with a large blur amount). -
Just a quick question for ye, no detail really required at this time.
Is it possible to run a multi threaded Java application in a multi processor environment, where the processors would share the work between them.
I suppose basically what I am asking is does the JVM have the capabilities to run multiple threads across multiple processors.
If the answer to this question is yes, how difficult is it to set up or is there any special requirements, or extensions required.
CheersIn most current JVMs, the facilities of the OS to spread the execution across the system's CPU's is provided to the Java programmer quite transparently. Avoid 'green threads' and you are good as gold.
On Solaris 7 and earlier, it gets tricky to convince the two-level kernel threading mechanism to really use all CPU's (or even more than one). The Sun JVM's for Solaris provide 'unsupported' but often suggested command line options to use 'bound threads' to solve this problem and Java 1.3.0 and 1.3.1 do a much better job. I've run WLS on 10-way 4500 systems and was able to consume about 70% of the 10 CPU's with productive work - principal limitation was our ability to apply load to the system.
In Solaris 8, there is an alternate thread library that a process can choose to use (just put it in the front of the LD_LIBRARY_PATH). This causes that process to use a one-level (or flat) Solaris thread model which can improve performance (and will definitely increase processor utilization) on larger SMP systems.
Chuck -
NI instruments / Logic instruments and multi processor warning
I am running an instance of FM8 and Massive and the rest of my patches are exs and evp88 , on a macbook with 2gb ram , the memory is less than 50% and mainstage has been great up untill today when i got the "mainstage does not support multi processor 's" warning and then the second time this warning came up mainstage force quitted . Anyone experienced this yet ?
Ola Ramiro,
como estas?
I'm using Atmosphere on as a normal plug-in.
However, there have been some mates that post about here in the forum.
Try to shearch about it.
If I have any news, I'll keep you post.
adieus amigo,
Jorge
Maybe you are looking for
-
I'm trying to upgrade to the new itunes but it wouldn't let me so I had to delete my old itunes, but didn't know you have to delete everything that has to do with itunes in a specific order, so now my itunes wont play any of my bought music & now whe
-
Which compiler does JDeveloper use?
When I try to compile (rebuild) a file I get "Fatal Error: compiler internal error". This file compiles just fine when I use javac.exe that came with jdk1.3. I have set up the jdk1.3 as instructed in the JDeveloper 3.2.2 release notes. In an effort t
-
Trouble quitting & Locked file problems in iTunes
This is weird, but it's the 2nd time it's happened in two days. I'm using the latest iTunes on OS X Tiger. I have iTunes playing music in the background while I'm working on other programs (like Word). Suddenly, I discover that I can't pull iTunes ba
-
Where can I see who activated the workflow
Hello All, Is there any table/view where I can see who activated/deactivated any particular workflow. Awaiting your answers eagerly. << Moderator message - Please do not promise points >> Neha Edited by: Rob Burbank on Dec 8, 2010 4:10 PM
-
Error when booting from Apple Hardware Test (AHT) CD
Just downloaded AHT 1.2.6 from here for my 2nd-hand Power Mac. Burned it to CD with Disk Utility on my iBook, booted from it on the Power Mac, and received the following message after the "loading..." splash screen: invalid memory access at %SRR0: 00