stringtranslate.com

Дэвид Ф. Бэкон

Дэвид Бэкон — американский программист .

Карьера

Бэкон начал работать программистом в возрасте 16 лет и работал в стартапе во время своего последнего года обучения в старшей школе. В Колумбийском колледже, Колумбийский университет , он сначала работал с Дэвидом Э. Шоу над суперкомпьютером NON-VON, [1] а затем над сетевыми алгоритмами и моделированием с Йечиамом Йемини, создав сетевой симулятор NEST, [2] который послужил основой для ряда других сетевых симуляторов, включая REAL Корнелла [3] и, следовательно, ns симулятор LBL .

Исследования IBM

Бэкон провел большую часть своей карьеры в исследовательском центре Томаса Дж. Уотсона компании IBM , начав в 1985 году с должности программиста, работавшего над языком распределенного программирования Hermes [4] , и в конечном итоге став главным научным сотрудником.

В 2009 году он взял академический отпуск в качестве приглашенного профессора компьютерных наук в Гарварде . [5]

Большая часть его работы в IBM была сосредоточена на сборке мусора . В 2009 году он был назначен членом ACM «за вклад в системы реального времени и в проектирование и реализацию объектно-ориентированного языка». [6]

Его работа над Metronome [7], сборщиком мусора с трассировкой в ​​реальном времени, стала основой для виртуальной машины IBM WebSphere Real Time Java, [8] которая использовалась в программном обеспечении для эсминца DDG 1000 ВМС США. [9] Первоначальное исследование впоследствии было выбрано для премии «Самая влиятельная статья» 2013 года на симпозиуме по принципам языков программирования . [10]

Его работа по сборке мусора циклическими структурами [11] в системах с подсчетом ссылок использовалась в ряде языков сценариев, включая PHP . [12]

В 2013 году он опубликовал первый сборщик мусора, полностью реализованный на аппаратном уровне, [ необходимо разъяснение ] [13] , который был выбран в качестве основного исследовательского момента ACM. [14] [15]

В дополнение к сборке мусора, его работа была сосредоточена на реализации параллельных и объектно-ориентированных языков. Его диссертационная работа по Rapid Type Analysis (RTA) [16] [17] использовалась во многих компиляторах и аналитических фреймворках для построения графов вызовов для объектно-ориентированных языков, включая Soot [18] и Go . [19] В 2004 году его работа по высокопроизводительной блокировке для Java [20] появилась в списке 50 самых влиятельных статей PLDI всех времен. [21]

Google

В 2014 году он присоединился к Google , где сейчас является главным инженером, работая над системой распределенной базы данных Spanner . Он отвечает за движок базы данных Spanner .

Ссылки

  1. ^ Шоу, Дэвид Эллиот (1982). Суперкомпьютер NON-VON, Технический отчет CUCS-029-82, Колумбийский университет.
  2. ^ Дюпюи, Александр; Шварц, Джед; Йемини, Йечиам; Бэкон, Дэвид (1990). «NEST: сетевое моделирование и испытательный стенд для прототипирования». Сообщения ACM . 33 (10): 63–74. doi : 10.1145/84537.84549 . ISSN  0001-0782. S2CID  5311305.
  3. ^ Кешав, С. Обзор REAL 5.0
  4. ^ Strom, Robert E.; Bacon, David F.; Goldberg, Arthur P.; Lowry, Andy; Yellin, Daniel M.; Yemini, Shaula (1991). Hermes - язык для распределенных вычислений . Englewood Cliffs, NJ, USA: Prentice-Hall. ISBN 978-0-13-389537-7.
  5. ^ Гарвардская группа EconCS
  6. ^ Стипендиаты ACM - Дэвид Ф. Бэкон
  7. ^ Бэкон, Дэвид Ф.; Ченг, Перри; Раджан, В. Т. (2003). «Сборщик мусора в реальном времени с низкими накладными расходами и постоянным использованием». Труды 30-го симпозиума ACM SIGPLAN-SIGACT по принципам языков программирования — POPL '03 . С. 285–298. CiteSeerX 10.1.1.13.6486 . doi :10.1145/604131.604155. ISBN  978-1581136289. S2CID  52819687.
  8. ^ IBM WebSphere Real Time
  9. ^ IBM и Raytheon поставляют технологическое решение для эсминцев ВМС США следующего поколения DDG 1000
  10. ^ Премия за самую влиятельную работу POPL
  11. ^ Бэкон, Дэвид Ф.; Раджан, В. Т. (2001). «Сбор параллельных циклов в системах с подсчетом ссылок». ECOOP 2001 — Объектно-ориентированное программирование . Конспект лекций по информатике. Том 2072. С. 207–235. CiteSeerX 10.1.1.32.6283 . doi :10.1007/3-540-45337-7_12. ISBN  978-3-540-42206-8. ISSN  0302-9743.
  12. ^ PHP Manual - Сбор циклов
  13. ^ Бэкон, Дэвид Ф.; Ченг, Перри; Шукла, Сунил (2013). «И не стало никого: сборщик мусора в реальном времени без остановок для реконфигурируемого оборудования». Сообщения ACM . 56 (12): 101–109. doi :10.1145/2534706.2534726. ISSN  0001-0782. S2CID  52901561.
  14. ^ Мосс, Элиот (2013). «Самая чистая уборка мусора». Сообщения ACM . 56 (12): 100. doi :10.1145/2534706.2534725. ISSN  0001-0782. S2CID  9688334.
  15. ^ Основные моменты исследования ACM SIGPLAN
  16. ^ Бэкон, Дэвид Ф. (1997). Быстрая и эффективная оптимизация статически типизированных объектно-ориентированных языков (PDF) (диссертация). Калифорнийский университет в Беркли.
  17. ^ Бэкон, Дэвид Ф.; Суини, Питер Ф. (1996). «Быстрый статический анализ вызовов виртуальных функций C++». ACM SIGPLAN Notices . 31 (10): 324–341. CiteSeerX 10.1.1.69.2267 . doi :10.1145/236338.236371. ISSN  0362-1340. 
  18. ^ Фреймворк Soot для анализа программ Java
  19. ^ Документация Go - пакет rta
  20. ^ Бэкон, Дэвид Ф.; Конуру, Рави; Мурти, Чет; Серрано, Маурисио (1998). «Тонкие пряди». Уведомления ACM SIGPLAN . 33 (5): 258–268. дои : 10.1145/277652.277734 . ISSN  0362-1340. S2CID  16929488.
  21. ^ 20 лет PLDI (1979–1999): Избранное, Кэтрин С. МакКинли, редактор

Внешние ссылки