An alternative to garbage collection

An IEEE Spectrum article outlines some interesting new OS-related research. Martin Maas, a University of California, Berkeley, PhD student who is now at Google, designed “a new type of device that relieves the CPU from its garbage collection duties.”

Maas notes that CPUs, which have traditionally been assigned garbage collection, were never specifically designed for the task. “CPUs are built to be flexible and run a wide range of applications. As a result, they are relatively large and can take up a significant amount of power,” he explains.
Instead, Maas and his colleagues created a compact accelerator unit that requires a small amount of chip area and power. It can be added to the CPU, similar to how many modern processor chips are integrated into graphics processing units.
“While the software application is running on the CPU, this unit sits on the side and performs garbage collection for the application,” says Maas. “In principle, this means that you could build a system where the software does not have to worry about garbage collection at all and just keeps using the available memory.”

51 Comments

  1. 2019-05-09 2:33 pm
    • 2019-05-09 3:14 pm
    • 2019-05-09 3:47 pm
  2. 2019-05-09 3:04 pm
  3. 2019-05-09 3:06 pm
  4. 2019-05-09 4:36 pm
    • 2019-05-09 5:18 pm
      • 2019-05-09 6:24 pm
        • 2019-05-09 11:10 pm
          • 2019-05-10 12:05 am
        • 2019-05-23 4:28 am
          • 2019-05-23 7:24 am
          • 2019-05-23 10:37 am
      • 2019-05-09 7:01 pm
        • 2019-05-09 8:12 pm
      • 2019-05-10 3:45 am
        • 2019-05-23 7:21 am
      • 2019-05-10 5:56 pm
        • 2019-05-11 1:09 am
          • 2019-05-15 11:10 am
          • 2019-05-19 12:30 am
      • 2019-05-12 6:56 am
        • 2019-05-23 7:45 am
    • 2019-05-10 3:52 am
      • 2019-05-10 4:38 am
        • 2019-05-10 5:02 am
          • 2019-05-10 6:11 pm
          • 2019-05-11 3:27 am
          • 2019-05-11 5:08 am
          • 2019-05-11 6:40 am
          • 2019-05-11 3:54 pm
          • 2019-05-11 7:40 pm
          • 2019-05-11 8:10 pm
          • 2019-05-11 8:21 pm
          • 2019-05-11 9:01 pm
          • 2019-05-12 3:23 am
          • 2019-05-12 6:17 am
          • 2019-05-12 11:54 pm
  5. 2019-05-09 6:39 pm
  6. 2019-05-09 11:34 pm
  7. 2019-05-10 1:12 am
    • 2019-05-10 4:27 am
      • 2019-05-10 12:15 pm
  8. 2019-05-10 1:57 am
    • 2019-05-10 10:13 am
  9. 2019-05-10 1:59 am
  10. 2019-05-12 1:40 am
    • 2019-05-12 9:56 am
      • 2019-05-13 8:53 am
      • 2019-05-19 1:25 am
      • 2019-05-19 12:10 pm