Multi-threading JVM implementation on multi-core Linux

Does the Linux JVM run separate threads on separate cores in a multi-core machine? What rules does the scheduler use to make that decision?

Yes but the scheduler is an OS functionality, not Java. You the Java programmer should not worry about that. Important things on Java programmer level are written in the book:
http://www.amazon.com/Java-Concurrency-Practice-Brian-Goetz/dp/0321349601/ref=pd_bbs_2/104-0029622-4532777?ie=UTF8&s=books&qid=1185504553&sr=1-2

Similar Messages

  • Aggregate Storage And Multi-Threading/Multi-Core Systems

    Please pardon if this question has been asked before, but the Forum search is not returning any relevant results.
    We are in the process of purchasing hardware for an 11.1.2 Essbase environment. We are going 64-bit, on Windows 2008, with either 32 GB or 64 GB of system RAM. The debate we are having is the number of CPUs and cores per CPU. We have not built any ASO databases as of yet, but we plan to launch a major BSO to ASO conversion project once 11.1.2 is off the ground here.
    Historically, with BSO, we did not see performance improvements significant enough to justify the cost of additional CPUs when we ran calcs on multi-CPU systems vs. single or dual CPU systems, even when the settings and design should have taken the most advantage of BSO's multi-threading capabilities. However, it would seem that ASO's design may be able to make better use of multi-core systems.
    I know that there are a lot of factors behind any system's performance, but in general, is ASO in 11.1.2 written well enough to make it worthwhile to consider, say, a four CPU, total 16 core system vs. a 2 CPU, total four core system?

    Grand central dispatch - infancy, not really doing its job, and I don't think apps have to be specifically written for HT, but they do have to not do things that they use to - prevent threads from going to sleep! or be parked.
    high usage is not necessarily high efficiency. often the opposite.
    Windows 7 seems to be optimized for multi-core thanks to a lot of reworking. Intel wants and knows it isn't possible to hand code, that the hardware has to be smarter, too. But the OS has a job, and right now I don't think it does it properly. Or handle memory.
    Gulftown's 12MB cache will help, and over all should be 20% more efficient doing its work.
    With dual processors, and it doesn't look like there are two quick path bridges, data shuffling has led to memory thrashing. Use to be page thrashing with not enough memory. Then core thrashing but having the cores, but not integrated (2008 is often touted as being greatest design so far, but it was FOUR dual-cores, 2009 was the first with a processor that really was new design and (native) 4-core.
    One core should be owned by the OS so it is always available for its own work and housekeeping.
    The iTunes audio bug last year showed how damaging and not to implement code and how a thread could usurp processing and add a high cpu temperature while basically doing nothing, sort of a denial of service attack on the processor - those 80*C temps people had.
    All those new technology features under development and not like OpenCL, GCD and even OpenGL are tested, mature but rather 1.0 foundation for the future. A year ahead of readiness.

  • SAP XI on a multi-core, multi-thread server?

    Hi Everyone!
    Can anyone tell me whether SAP XI can run on a Server whose processor is multi-core, multi thread (4 cores, 8 threads per core, 32 threads)?
    Thanks in advance!
    Warm regards,
    Glenn

    Hi Ravi,
    Thanks for your reply! The server in question is SUN Solaris. What sort of confguration needs to be done on both the OS side and on XI? Is there a SAP note I can follow?
    Warm regards,
    Glenn

  • Public static Thread currentThread() and multi core processors??

    Hello,
    I have the following basic question: what does public static Thread currentThread() mean in the context of multi core processors where several threads may execute concurrently?
    Any clue welcome,
    J.

    Hi balteo,
    When you invoke Thread.currentThread(), you get the reference of the current thread : the thread where you make the call.
    Just try :
    System.out.println("My program is running thread : " + Thread.currentThread().getName());
    mean in the context of multi core processors where several threads may execute concurrently?Several threads may run concurrently with single core processors. The number of concurrent threads you may execute depends of the processors architecture and the OS.

  • 1 core VS multi core in a web application: performance issue

    Hi,
    I'm having trouble with a web application in a multi cpu server (w2ksp4, iis+wl9.2)
    I have prepared a set of JMeter stress tests, and the application is only capable to finish 5 transactions in a multi cpu (2 cpus with 2 cores each) but if I bind the JVM of the weblogic process to only 1 core, then the application can handle more than 60 transactions without errors.
    I'm in production side; developers tell me "hardware problem" but it seems more likely a poorly designed application (as per my previous experience with them)
    The syntoms are lot of null pointers exceptions and threads stuck when in multi core scenario.
    Althought I have not put lot of details, any of you have ever seen something similar?
    If anybody needs further information please feel free to ask
    Thanks,
    Antonio

    What operating system are you using?
    make sure you are trying a certificated configuration JDK and OS.
    Oracle Fusion Middleware Supported System Configurations
    If using unix/Linux OS based you migh be hitting low entropy issue, you can add
    -Djava.security.egd=file:/dev/./urandom to JAVA_OPTIONS and retest the issue
    Best Regards
    Luz

  • 64-bit and Support for Multi-Core Computers

    I recently bought one of the new 12-core Mac Pro's from Apple, but was disappointed to see the lack of 64-bit support and optimization for multi-core computers within InDesign. When producing magazines with hundreds of pages and hundreds of fonts, the need for multi-core support and 64-bit processing are vital.
    Can anyone at Adobe confirm that they will implement this in CS6? It's long overdue.

    InDesign is a really complicated program. 64 bit support is of marginal use of InDesign. It would be faster (as is the case using ID Server 64 bit on Windows), but I'm not sure how much of a difference that would make for the average desktop user.
    Adobe has done a lot of multi-threading work under the hood for CS5 (and pdf export is one of the first fruits of that). What further support they might add for CS+, is anyones guess, but it'll be easier now that a lot of the preliminary work is done. Each feature would be a separate effort, so if there's something SPECIFIC you'd like to see multi-threaded, I suggest you write that in a feature request. The more detailed you can be about it, the better!
    Harbs

  • Multi core shulder / power managment

    Hello I would like to use latest power management from kernel 3.15 instead of p-state.
    I've notice that cpupower returns strange info does someone experience same behavior?
    Laptop:
    dell inspiron 7720 se, core i7 sandy bridge
    I've add intel_pstate=disable to kernel cmdline.
    [root@lukasz-dell7720 lukasz]# uname -a
    Linux lukasz-dell7720 3.15.5-1-ARCH #1 SMP PREEMPT Thu Jul 10 07:08:50 CEST 2014 x86_64 GNU/Linux
    [root@lukasz-dell7720 lukasz]#  zgrep SCHED_MC /proc/config.gz
    CONFIG_SCHED_MC=y
    [root@lukasz-dell7720 lukasz]# lsmod | grep acpi_cpufreq
    acpi_cpufreq           10170  0
    processor              25153  1 acpi_cpufreq
    [root@lukasz-dell7720 lukasz]# cpupower info; cpupower monitor;grep "model name" /proc/cpuinfo
    System's multi core scheduler setting: not supported
    System's thread sibling scheduler setting: not supported
    analyzing CPU 0:
    Could not read perf-bias value
        |Nehalem                    || SandyBridge        || Mperf              || Idle_Stats                             
    CPU | C3   | C6   | PC3  | PC6  || C7   | PC2  | PC7  || C0   | Cx   | Freq || POLL | C1-I | C1E- | C3-I | C6-I | C7-I
       0|******|******|******|******||******|******|******||******|******|******||  0.00|  0.00|  0.00|  0.11|  0.00| 93.82
       1|******|******|******|******||******|******|******||******|******|******||  0.00|  0.00|  0.22|  0.20|  0.22| 88.69
       2|******|******|******|******||******|******|******||******|******|******||  0.00|  0.68|  0.00|  0.03|  0.00| 82.59
       3|******|******|******|******||******|******|******||******|******|******||  0.00|  1.06|  8.63|  0.06|  0.00| 87.16
       4|******|******|******|******||******|******|******||******|******|******||  0.00|  0.31|  1.13|  0.11|  0.00| 88.98
       5|******|******|******|******||******|******|******||******|******|******||  0.00|  0.01|  9.03|  0.20|  0.00| 74.02
       6|******|******|******|******||******|******|******||******|******|******||  0.00|  0.00|  0.00|  0.00|  0.00| 70.57
       7|******|******|******|******||******|******|******||******|******|******||  0.00|  0.00|  0.03|  0.18|  0.00| 71.84
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz
    model name      : Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz

    Google is your friend.
    G5 Service Source is what you need. There are also a lot of Apple modding sites that have gutted G5's and inserted PC mobo's so they have listed various connection for the panels.

  • PSE 10 both Organizer and Editor crash on multi-core hardware; set affinity to single cpu mode fixes

    As I have noted in thread http://forums.adobe.com/thread/941128 I have found that both the editor and the organizer for PSE 10 crash in a multi core environment, I am running WIndows 64 bit, latest updates (includes sp1), I had the same problems with Windows 7 32 bit.
    Solution is to set the affinity to a single cpu.  From the task manager, select the 'processes' tab, find the exe (eg PhotoshopElementsOrganizer), right-click, select 'Set affinity...' and reduce the number of CPUs selected (checked) to exactly one.  (Under different versions of Windows the exact means for doing this varies, but the essential steps are the same).  It doesn't matter which cpu you select, but if you do both the Editor and the Organizer, put them on different CPUs.
    Given that pretty well all hardware these days is multi-core, my assumption is that Adobe test in a virtualized environment and so do not discover this type of unreliabillity.  Adobe really do need to test their software more thoroughly as the exact same problem existed in PSE 6, so it is hardly new to them.

    The solution is in the above.
    Should Adobe read this, they should take note that a virtualized environment does not provide a decent fidelity emulation of multi-core CPU systems.  The ONLY way to test the reliability of an application is on REAL hardware.

  • Dual Processor Multi Core Parrell Processing Question

    Hey Guys
    I'm looking for a little clarification on an issue with parrell
    processing in LabView. If I have a Dual Processor machine with two 4 core CPU's
    will be able to access all 8 cores in the LabView environment. I'm presuming it
    can use any cores the operating system can see?   
    Thanks for the help,
    Tom
    Solved!
    Go to Solution.

    Norbert B wrote:
    it is the job of the OS that applications can use all cores if necessarry. So for the application itself, it should make no difference if the system (in hardware) is MultiCPU, MultiCore or even simply HyperThread.....
    Norbert 
    Its true, but I would like to add my 5 cents here.
    Lets say, if you have single loop like
    while (true){
    //do something
    then OS will get no chance to run it in multiple threads. So, you will get max 12,5% CPU load at 8 cores PC or 50% max on dual core PC.
    I have dual core PC right now, and lets check it:
    So, as we can see - 50% CPU load reached (one core loaded more, but its another story).
    Well, if we will use two while loops, then we will get 100 % load:
    Of course, if you will need to load all 8 cores, then you should have 8 parallel loops.
    Compare BD above with the following:
    We have two Array minmax functions, and they independend, but we have 50% only.
    Well, you can get also 100% CPU utulization withing single while loop. In th example below you have two SubVI, which called in the same loop:
    We have here 100 %. Important, that these VIs should be reenterant!
    See what happened if they not reeenterant:
    Now a little bit about Vision. Behing of most of the Vision SubVIs are DLL calls. Some Vision functions already optimized for multicore execution. For example, convolution:
    On the BD above we have single loop with one SubVI, but both cores are used (because convolute itself already optimized for multi core).
    Remember, that not all Vision functions optimized yet. For, example, LowPass still single-threaded (compare this BD with BD above):
    Sure, we can utilize multi cores - just perform parallel execution (you have to split image to two parts, then join together and so on):
    Remember, that SubVIs should be reeentrant, and all DLL calls should be thred safe (not in UI thread). Also good idea to turn off debugging in such experiments for eliminate additional CPU load.
    Another point about 8 cores. As far as I know, LabVIEW (and LabVIEW-based application) will support only 4 cores within one execution system by default (at least prior to LabVIEW 2009). If you need to utulize all 8 cores, then you should add some lines into LabVIEW.ini. Refer to the following thread where you can found more details:
    Interpolate 1d slow on 8 core machine
    Hope all written above was correct. 
    Thank for reading and best regards,
    Andrey.
    Message Edited by Andrey Dmitriev on 11-27-2009 02:50 PM

  • SAP Permormance on Sun T2000 multi core servers.

    Hi guys,
    On some of the newer sun servers, the performance isn't quite as good as what you would expect.
    When you are running a specific job, let say patching using saint for instance the process works as expected, but the disp+work process seems to be just allocated to 'one' of the servers CPU's, rather than the process being distributed across the servers multi-cores, and doesn't seem to be much if any quicker.
    I'm sure some of our ZONE settings in S10 must be wrong etc, but have followed  the documentation precisely from SAP.
    Am i missing some Solaris functionality or do we have to tell SAP to use multi-cores ?
    Just intrested in other peoples experiences on the newer Sun servers
    Regards
    James

    An ABAP workprocess is single threaded. Basically that means that the speed of any ABAP program is running is CPU-wise only dependent on the speed of the CPU.
    An ABAP system can't leverage the multi-core multi-thread architecture of the new processors seen on the single process. You will see e. g. a significant performance increase if you install a Java engine since those engines have multiple concurrent threads running and can so be processed in parallel as opposed to the ABAP part.
    What you can do to speed up an import is setting the parameter
    PARALLEL
    in the STMS configuration. Set the number to the available number of cores you have. This will increase the import speed since multiple R3trans processes are forked. However, during the XPRA still only one workprocess will be used.
    Markus

  • Will Adobe improve Ai to better take adv of multi-core processors & GPU's?

    will Adobe improve Ai to better take adv of multi-core processors & GPU's?

    And what specifically? You need to be much more specific what you expect to be faster and make better use of your resources. In any case you should get used to the thought that for many operations there is only limited potential to make them multi-threaded or even use GPU due to how the underlying math works. Perhaps we may get a GPU-based rasterize for faster previews, perhaps AI will use GPU prodcessing of pixel images one day, but beyond that I don't really see much. Pathfinders, blends and many otehr things are simply hard linear number-crunching.
    Mylenium

  • Light room multi core now or next version?

    I am going to purchase a new Mac Pro and they come in either a single quad core with a max of 8 GB RAM or a dual quad core configuration with a max of 64 GB RAM. I'm am trying to decide if it is worth spending the extra money to get the dual quad core model or is it just money spent for features I can't enjoy.
    Does the current version of Lightroom and Photoshop support the use multicore processors or will the next versions for the Mac do that?
    How much RAM does one need if they have Photoshop, Lightroom, Mail, Safari open at the same time? Will Lightroom and Photoshop be able to use more RAM in their next versions?

    It's not so much how an application "recognizes" multi-cores but rather how multi-threaded is the application. For example, if I import (or export) 500 images can I continue reviewing in Lr's Library module? The answer, of course, is yes.
    Whether a single quad or dual qauds make a difference is entirely dependent on your processing.
    Here's some information on hardware requirements for Photoshop: http://www.adobepress.com/articles/article.asp?p=1247538&seqNum=2

  • How does LabView choose which core to use in a multi-core system

    I have to share my multi-core processor with another application.  When this other application runs, it consumes 100% of one of the cores on the system for several seconds.  I am worried about this other application blocking part of my control code, resulting in delayed control signals and possible loss of control. 
    1.  When one core is completely occupied, will LabVIEW put all operations into the other core? (I am guessing this is yes)
    2.  If an operation is occurring on a core that is subsequently 100% subscribed, will LabVIEW move the operation to another core?  Does LabVIEW (or XP) prevent the other application from stalling operations already in progress? 
    The operations I am most concerned with are for the Multifunction DAQ and serial port calls.   
    I am working on a good sized (>100 vi) control system application in LabVIEW 8.2.1.  It is running on Windows XP.   

    1. Yes, Windows will allocate LabVIEW to an open thread on the unused core.
    2. Again, yes, Windows will check for available threads and move LabVIEW to any that are open, it doesn't matter what core that is.
    You can also force LabVIEW code, or parts of it, to run on a specific processor using the timed loop structure. You can find help for setting that up here.
    Chris Van Horn
    Applications Engineer

  • Multi-core

    Does anyone know if CS6 does actually properly support multi-core processors?
    I've got a MacPro with dual 6-core processors and it does seem much faster than CS5, but people are saying that's due to the new graphics engine.
    Are you sure it's just that because it really is much faster?
    There seems to be no mention of multi-core anywhere which is a bit suspicious.
    I recently upgraded from a dual 3Ghz quad core MacPro with  which was about 5 years old and my new machine which is the top pf the current MacPros with the full 64 gig of ram and SSDs, did not seem that much faster - Until I started using the CS6 beta.

    I checked on a PC with i7 3930K a few days ago, and Photoshop was using six cores, but only six threads out of twelve showed any high usage.  I did wonder if it was other apps or the OS causing the little bit of activity in about two to three of the remaining six threads.   As for dual processor systems, ISTR Chris Cox saying something about them in the Photoshop General forum a while back, along the lines of you would not expext full usage of both CPUs and all available threads.   Incidentally, CS5 shows the same CPU usage as CS6 on my system.  Perhaps Chris will be along to give you a heads up on that score.

  • Logic Pro on Multi-Core Processors?

    Hi, I've heard that multi core processors such as those in the new iMac and in the Mac Pro are only any good if the software knows how to use them properly. So, does Logic know how to use the multi cores of the iMac and Mac Pro properly?
    Ultimately I want to know if I would be better off with say a 3.06G core 2 duo, or a 2.66G i5?? For Logic only, I couldnt care about games or anything else.

    I can't address the theoretical on this thread; I can only say that I've had no problem setting my buffer at the lowest setting possible on my 8-core to record musicians live in my studio, and I have no problems. As I monitor my 8 cores, I can see none of the cores working particularly harder than others, and I've yet to hit the red with any of them. I don't monitor on my 2.4 GHz dual core laptop at the lowest buffer settings, because it does have problems with lower buffer settings.
    I disable some plug-ins that introduce latency by when I'm tracking live musicians; the pitch correction & the ad-limiter are the main examples for me; then I bring them in during mix.
    There might be something about how I record; but I have for the last couple of years changed to simply monitoring through Logic with software monitoring, and set the latency to 32 samples and never changed it. I work with professional studio musicians, and nobody's had a problem with the monitoring; and I haven't had any trouble tracking... never knew that I was supposed to. On some tracks with a lot of virtual instruments, I'll often go ahead and freeze tracks before tracking overdubs, but that's been more about hung notes or a sudden burst of musical debris as the buffer catches up and spits 2 measures worth of notes out at once.
    In the most recent project I did recording over 70 songs and 24-5 minute soundtracks, the final step in most of the recordings was recording 3 layers of 5 vocalists (each on their own mic & track) with EQ & compression plugins on every vocal channel strip. That was on top of typically 12 to 20 tracks of live & virtual instruments (some mono & stereo), while feeding control room mix & a dual mono cue mix.
    Again, I'm not disputing the theory here; I just know I can do this with my 8-core and it doesn't break a sweat; my dual core does. I didn't know I wasn't supposed to be able to do it; I just did it and it works.

Maybe you are looking for

  • Wifi not working on mac air windows 7

    i cant get connected to internet after installing window 7 on my new macbook air no wi-fi bars in the tray,any help will do

  • How do I keep text in a converted file??

    I want to convert a PDF file that I received as an email attachement.  Can I convert it without saving it first.  It is the type that will let you save a blank form but not the info typed in and I don't want to retype the entire form.

  • IPhoto Books - Discounts?

    I have created a 100 page iPhoto Book that I love and was hoping to order copies for family but it is expensive.  Are there ever any discounts or coupons on photo books?

  • Guest access to the Internet with Guest Anchor Controller

    Hi; We are doing our initial implementation of an enterprise wireless system.  I deployed a WLC 5508 connected to our data center core switch using LAG.  The 5508 is configured in FlexConnect mode since it is serving APs deployed to a handful of remo

  • Setting Undo/Redo menu text

    When artwork is changed, the text for the Undo menu will be something like "Undo Move" or "Undo Color".  The AIUndo suite has a SetUndoText function that "Specifies the localizable text for Undo and Redo menu items".  However, when I use this functio