Page 1 of 2 12 LastLast
Results 1 to 10 of 16

Thread: Linux Works Towards True CPU Hotplug Support

  1. #1
    Join Date
    Jan 2007
    Posts
    15,419

    Default Linux Works Towards True CPU Hotplug Support

    Phoronix: Linux Works Towards True CPU Hotplug Support

    One of the first pull requests sent in following the the Linux 3.7 kernel release is for getting closer to "true CPU hotplug support" with the Linux 3.8 kernel...

    http://www.phoronix.com/vr.php?view=MTI0ODc

  2. #2
    Join Date
    Aug 2012
    Location
    Pennsylvania, United States
    Posts
    1,921

    Default

    Quote Originally Posted by phoronix View Post
    Phoronix: Linux Works Towards True CPU Hotplug Support

    One of the first pull requests sent in following the the Linux 3.7 kernel release is for getting closer to "true CPU hotplug support" with the Linux 3.8 kernel...

    http://www.phoronix.com/vr.php?view=MTI0ODc
    Disclaimer: I havent been hands-on with server hardware, im looking at this with the perspective of a desktop system.

    Whats the usefulness of this? When I think of hotplugging I think of swapping out the piece of hardware while its in use which is why I get confused when I read about hot-swappable drives/ram/CPU's. If you just pull out a stick of RAM or a CPU while its in us you'll lose whatever data was on it and isnt it a risk to whoever is pulling out said piece of hardware from the electrical charge of the system? I get that hardware goes bad and it needs to be replaced but I guess where im tripping up on is the actual procedure to follow FOR replacing it while the systems in use.

  3. #3
    Join Date
    Oct 2009
    Posts
    353

    Default

    Yes, one basically replaces the CPU with bare hands, though you have to do it quickly, typically between 2 CPU cycles to not lose data. The motherboard detects that the CPU is being swapped and sends the OS a notification signal to work without the CPU, in which case the OS switches to using the audio or GPU processor (which makes it work slightly more slowly) until the new CPU is put in and the system continues working as usual.

  4. #4
    Join Date
    Jun 2006
    Location
    Portugal
    Posts
    542

    Default

    Quote Originally Posted by cl333r View Post
    Yes, one basically replaces the CPU with bare hands, though you have to do it quickly, typically between 2 CPU cycles to not lose data. The motherboard detects that the CPU is being swapped and sends the OS a notification signal to work without the CPU, in which case the OS switches to using the audio or GPU processor (which makes it work slightly more slowly) until the new CPU is put in and the system continues working as usual.
    In cases where the GPU is in the same silicon as the cpu, you could also temporarily switch to an ARM cpu inside an SSD controller. After all, many of them nowadays are multicores too!

  5. #5
    Join Date
    Aug 2012
    Location
    Pennsylvania, United States
    Posts
    1,921

    Default

    Quote Originally Posted by cl333r View Post
    Yes, one basically replaces the CPU with bare hands, though you have to do it quickly, typically between 2 CPU cycles to not lose data. The motherboard detects that the CPU is being swapped and sends the OS a notification signal to work without the CPU, in which case the OS switches to using the audio or GPU processor (which makes it work slightly more slowly) until the new CPU is put in and the system continues working as usual.
    2 cycles? a 4mhz processor has 4million cycles per second (http://www.codepedia.com/1/CPU+cycles) therefore a my 1.6ghz dualcore i5 is at 3.2billion (1.6billion per core) PER SECOND? Soo...its impossible to swap them out within 2 cycles?

  6. #6
    Join Date
    Oct 2007
    Location
    Toronto-ish
    Posts
    7,544

    Default

    Quote Originally Posted by cl333r View Post
    Yes, one basically replaces the CPU with bare hands, though you have to do it quickly, typically between 2 CPU cycles to not lose data. The motherboard detects that the CPU is being swapped and sends the OS a notification signal to work without the CPU, in which case the OS switches to using the audio or GPU processor (which makes it work slightly more slowly) until the new CPU is put in and the system continues working as usual.


    Quote Originally Posted by Ericg View Post
    2 cycles? a 4mhz processor has 4million cycles per second (http://www.codepedia.com/1/CPU+cycles) therefore a my 1.6ghz dualcore i5 is at 3.2billion (1.6billion per core) PER SECOND? Soo...its impossible to swap them out within 2 cycles?
    I think cl333r might be having a bit of fun

    Normally the backplane in a hot swap system would have per-module power controllers and/or data buffers so that a module can be unplugged and replaced without affecting any of the other modules. Typical systems would have a number of modules of each type (CPU, disk, maybe even power supply) so that when one module was removed processing could continue on the remaining modules.

    Any work on the failed/removed CPU/memory module would be lost, so any affected process would need to be restarted or restored from a checkpoint. For a disk module, the RAID software/firmware would handle it.
    Last edited by bridgman; 12-11-2012 at 01:16 PM.

  7. #7
    Join Date
    Oct 2011
    Posts
    18

    Default

    Quote Originally Posted by cl333r View Post
    Yes, one basically replaces the CPU with bare hands, though you have to do it quickly, typically between 2 CPU cycles to not lose data. The motherboard detects that the CPU is being swapped and sends the OS a notification signal to work without the CPU, in which case the OS switches to using the audio or GPU processor (which makes it work slightly more slowly) until the new CPU is put in and the system continues working as usual.
    Nice one
    You guys diddn't really believe this, right?
    Without googling for it first: I'm pretty sure you have to disable one CPU (via /proc/whatever), then pull it out, pull another one in and then enable it again via /proc/whatever. This only works on multi-CPU systems, of course..
    This way, the kernel knows in advance that the CPU will be pulled out and can save registers, etc. The same goes for RAM, of course.
    And for drives, of course you have to sync&unmount them first..

  8. #8
    Join Date
    Mar 2009
    Location
    in front of my box :p
    Posts
    826

    Default

    Quote Originally Posted by cl333r View Post
    Yes, one basically replaces the CPU with bare hands, though you have to do it quickly, typically between 2 CPU cycles to not lose data. The motherboard detects that the CPU is being swapped and sends the OS a notification signal to work without the CPU, in which case the OS switches to using the audio or GPU processor (which makes it work slightly more slowly) until the new CPU is put in and the system continues working as usual.
    ROFL.Thanks, that made my day.

    But I guess this CPU hotpluggin might work in always on machines but maybe it might also help power management, to switch off cores and complete CPUs. (e.g. if you have a supervising small ARM to wake em up again)

  9. #9
    Join Date
    Nov 2008
    Location
    Madison, WI, USA
    Posts
    881

    Default

    Quote Originally Posted by Ericg View Post
    Disclaimer: I havent been hands-on with server hardware, im looking at this with the perspective of a desktop system.

    Whats the usefulness of this? When I think of hotplugging I think of swapping out the piece of hardware while its in use which is why I get confused when I read about hot-swappable drives/ram/CPU's. If you just pull out a stick of RAM or a CPU while its in us you'll lose whatever data was on it and isnt it a risk to whoever is pulling out said piece of hardware from the electrical charge of the system? I get that hardware goes bad and it needs to be replaced but I guess where im tripping up on is the actual procedure to follow FOR replacing it while the systems in use.
    When hotplugging memory/CPU/other you'd first send a signal of some sorts to the OS that the piece of hardware you're about to remove should be deactivated. For memory, that would mean moving all of the data off of that stick of RAM. For a CPU, all threads would be migrated onto other CPUs. The same type of process would be used for other hardware you're about to swap. It's the same idea as unmounting/ejecting a flash drive before you pull it out of the USB port.

  10. #10
    Join Date
    Jun 2009
    Posts
    2,933

    Default

    Quote Originally Posted by Ericg View Post
    2 cycles? a 4mhz processor has 4million cycles per second (http://www.codepedia.com/1/CPU+cycles) therefore a my 1.6ghz dualcore i5 is at 3.2billion (1.6billion per core) PER SECOND? Soo...its impossible to swap them out within 2 cycles?
    You have to be really fast. That's why system administrators dealing with these kinds of servers are really expensive.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •