Announcement

Collapse
No announcement yet.

Linux Works Towards True CPU Hotplug Support

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    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.
    All opinions are my own not those of my employer if you know who they are.

    Comment


    • #3
      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.

      Comment


      • #4
        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!

        Comment


        • #5
          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?
          All opinions are my own not those of my employer if you know who they are.

          Comment


          • #6
            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.


            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; 11 December 2012, 01:16 PM.
            Test signature

            Comment


            • #7
              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..

              Comment


              • #8
                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)
                Stop TCPA, stupid software patents and corrupt politicians!

                Comment


                • #9
                  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.

                  Comment


                  • #10
                    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.

                    Comment

                    Working...
                    X