Астрономам порекомендовали меньше использовать суперкомпьютеры и Python из-за вреда экологии +18




image

Астрономы из Лейденской обсерватории опубликовали материал, посвященный работе своих коллег. Они подсчитали, что в ходе онлайн-конференции Европейского астрономического общества в атмосферу поступило в три тысячи раз меньше углекислого газа, чем во время очной конференции годом ранее. Их коллеги утверждают, что язык программирования Python, который часто используется в их работе, требует очень много электроэнергии.

Лео Буртшер из Лейденской обсерватории, один из организаторов онлайн-конференции в 2020 году и автор статьи, отметил: «Конечно, мы ожидали, что в онлайне выбросы CO2 будут ниже. Но тот факт, что разница была огромной, стал неожиданностью».

Буртшер и его соавторы предполагают, что сочетание онлайн-лекций с региональными оффлайн-встречами может стать хорошей альтернативой.

Статья о более экономном использовании компьютеров принадлежит профессору вычислительной астрофизики Саймону Портегису Цварту. Он предлагает выполнять повседневную работу, например, писать электронные письма и тексты, на простом ноутбуке.

Кроме того, ученый считает, что суперкомпьютер не нужно использовать на полную мощность. Для расчетов и моделирования же можно использовать специальные компьютеры с аппаратным обеспечением на базе видеокарт.

Автор подсчитал, что объем углеродных выбросов при работе мощной рабочей станции сопоставим со средним объемом выбросов на душу населения в мире. При работе с одним ядром суперкомпьютер производит меньше углерода, чем рабочая станция. Однако, чем больше ядер, тем лучше производительность за счет производства большего количества углерода. При запуске миллиона ядер выбросы намного превосходят авиаперелеты и приближаются к углеродному следу от запуска ракеты в космос. Оптимальное сочетание производительности и выбросов достигается для ~1000 ядер, после чего суперкомпьютер начинает производить больше углерода, чем рабочая станция.

imageimage

Наконец, автор призвал воздержаться от использования Python, если речь не идет о больших вычислениях. Python (и в меньшей степени Java) требуют значительно больше времени на запуск и производит больше CO2, чем C ++ или Fortran.

image

Многим астрономам этот призыв не понравится, считает Цварт. По его словам, Python удобен для пользователя, и существует множество коллекций бесплатных фрагментов кода, которые астрономы копируют в свои программы. Поэтому он призвал разрабатывать курсы программирования для студентов, где меньше внимания уделялось бы Python и больше — тем языкам, которые намного эффективнее работают с процессором компьютера.

См. также:




Комментарии (61):

  1. namikiri
    /#22076444 / +7

    Ой, а можно, пожалуйста, «разработчикам порекомендовали перестать использовать Electron» по той же причине? Ну и вдовесок побыстрее работать приложения будут…

  2. deepform
    /#22076454 / +3

    А как там майнинг поживает?)

    • edo1h
      /#22076518 / +2

      ну майнинг-то — это нужная и полезная вещь, он деньги приносит. не то, что эти дармоеды-учёные.


      грета — наше всё, астрономов на мыло!

  3. tmin10
    /#22076546

    >где меньше внимания уделялось бы Python и больше — тем языкам, которые намного эффективнее работают с процессором компьютера

    Чтобы студенты думали не о решении задачи, а у том, как компьютеру лучше обрабатывать данные? Так можно и до asm скатиться, там явно самая эффективная работа с памятью и процессором, но насколько трудозатратней станет писать такие программы и учитывать кучу мелочей?

    • /#22076628

      Особенно при учёте, что питон используется для управления воркерами, фактически — либо для чего-то быстро считающегося…

    • Sonnenwendekind
      /#22076740 / -1

      Раньше FORTRAN и C++ всем нравились, а сейчас народ, видимо, отупел

      • Sychuan
        /#22076896 / +1

        C++ заставляет ученых волноваться и думать о вещах, которые им малоинтересны. FORTRAN гораздо лучше, но он все-таки устарел и довольно громоздкий.Python и R — это на сегодня лучшие варианты

        • Yermack
          /#22077118

          Julia — спасет планету! Физикам не надо жечь калории плясками с бубном для распараллеливания вычислений, а процессора коптят атмосферу во время расчетов гораздо меньше



          правда теперь придется еще поломать голову, почему такое жуткое ускорение...

          • chersanya
            /#22077310

            Правда у вас не то бенчмаркается :)
            Из доков:


            Note that without a reducer function, @distributed executes asynchronously, i.e. it spawns independent tasks on all available workers and returns immediately without waiting for completion. To wait for completion, prefix the call with sync, like: <...>

    • tunelix
      /#22076894

      можно просто на бумажке посчитать, а еще лучше на песке палочкой

    • Yuuri
      /#22078740

      Из asm, конечно, теоретически можно выжать максимальную производительность, но на практике для любой мало-мальски сложной задачи человек выдаст куда худший код, чем современные оптимизирующие компиляторы.
      Не обязательно ударяться в крайности – «если не питон, то C++ или вообще ассемблер». Есть немало достаточно производительных и при этом не таких монструозных языков, пусть и менее распространённых – Julia, Haskell, Ocaml (хотя у него с параллелизмом плохо), D, да хоть Go...

  4. NTHub
    /#22076574 / +4

    Похоже наступают Тёмные Века…
    Только меня удивляет почему эти борцы с углекислым газом предпочитают в кабинетах и парламентах сидеть и корпорации штрафами окучивать, а не пустыни деревьями засаживать, как Китайцы, которые начали терраформировать Землю ещё до того как это стало мейнстреймом например:
    «Пустыня Му-Ус — 42 200 км2, одна из четырех главных пустынь в Китае, «исчезла» с карты северо-западной провинции Шэньси, поскольку 93,24% опустошенных земель стали зелеными»
    pikabu.ru/story/kitayskaya_pustyinya_prevratilas_voazis_posle_70_let_ozeleneniya_7461343

    • xfaetas
      /#22076752 / -1

      Тёмные Века настали уже тогда, когда стали продвигать языки по принципу простоты для тупых

      • gecube
        /#22076806

        Т.е. когда англо-саксы установили свою гегемонию над Земным шариком?

        • yadobr
          /#22076818

          Возможно линимент ввиду Питон

      • Sychuan
        /#22076916 / +1

        когда стали продвигать языки по принципу простоты для тупых

        Потому что ученому, которому нужно смоделировать какую-то суперсложную проблему в математической физике типа зеркальной симметрии обязательно еще нужно еще думать про управление памятью, да? Надеюсь вы пишите только на ассемблере для умных. Языки тут совершенно ни при чем. Это просто инструменты для решения задачи.

        • yarric
          /#22076956

          Все абстракции текут: думать об управлении памятью в современном C++ с либами нужно не больше, чем о каком-нибудь GIL в Python. Зато не нужно думать, как выразить алгоритм без циклов и прочих привычных алгоритмических вещей.

          • Sychuan
            /#22077012

            думать об управлении памятью в современном C++ с либами нужно не больше, чем о каком-нибудь GIL в Python

            Все таки это не правда. C++ требует гораздо более глубокого понимания устройства компьютера, чем Python. Программист — это не физик, не математик, не биолог, не экономист. Он учится другим вещам. Зато он не изучает, то что изучают эти специалисты. И это разумно
            Зато не нужно думать, как выразить алгоритм без циклов и прочих привычных алгоритмических вещей.

            Циклы и прочие привычные алгоритмические вещи из Питона не исчезли. Они там точно такие же как в C++. Может немного удобнее.

            • Sonnenwendekind
              /#22077156

              C++ требует гораздо более глубокого понимания устройства компьютера, чем Python

              Например зачем? В контексте задач численной обработки


              Циклы и прочие привычные алгоритмические вещи из Питона не исчезли

              Только вычисления сразу растягиваются на сутки вместо часов, по сравнению с numpy

              • Sychuan
                /#22077772

                Например зачем? В контексте задач численной обработки

                Для того чтобы не получить непредсказуемый неожиданный результат? Вы убеждаете, что C++ очень простой язык. Я много слышал рассказов, что ручное управление памятью — это суперпросто и «нормальный» программист не ошибается. Но вот Микрософт подсчитали, что большинство ошибок у них это ошибки с памятью.
                Вы думаете, что ученые которые используют Питон—это программисты. Но они не программисты. Они используют Питон также, как используют Математику для решения интегралов и Матлаб, чтобы перемножать матрицы. И поэтому им нужен максимально простой инструмент, где все работает сразу, желательно интерактивно и без компиляции. Питон с его библиотеками, также как R, Matlab, Октава и другие как раз и является таким инструментом, где сразу можно начать моделировать и быстро получать какие-то результаты. Наверное, когда дело идет про алгоритм, который вычисляется днями и месяцами на суперкомпьютере к делу можно привлечь и программистов, которые сделают все как надо. Но это отдельная задача.
                Только вычисления сразу растягиваются на сутки вместо часов, по сравнению с numpy

                Ну здесь может помочь numba например.
                Ну и собственно результат говорит сам за себя. В научных вычисления использовался Fortan, сейчас это Питон, R, может быть Julia, а вовсе не C++ или С или Rust или что-то другое «очень быстрое». Надо полагать, что это произошло именно потому что ученым проще и удобнее использовать Питон, а не совершенно простой, по вашим словам, C++ а вопрос скорости их волнует меньше, чем можно предположить.

                • Daddy_Cool
                  /#22077800

                  Вставлю одну копейку. Си в науке живее всех живых как и неожиданно Фортран (но наука она очень развесистая). А С++ — увы, да — избыточен. Сейчас присматриваюсь к Джулии — хочется просто попробовать что-то новенькое.
                  А вообще в ход идет всё — у некоторых даже тс… Excel, кто-то творит величественные вещи в Ориджине, кто-то чуть что запускает Maple или Математику.

                • Sonnenwendekind
                  /#22078202

                  В C++ автоматическое управление памятью.


                  все работает сразу, желательно интерактивно

                  Это уже зависит от IDE, Jupyther Notebook в помощь.


                  потому что ученым проще и удобнее использовать Питон

                  Когда упрутся в пределы наращивания мощностей суперкомпьютеров и серверов — C++ и ему подобные внезапно снова окажутся очень удобными, также появится куча библиотек и инструментов как сейчас для Python, абстрагирующих сложные моменты языка

                  • netch80
                    /#22083706 / +1

                    В C++ автоматическое управление памятью.

                    Вы "забыли" сказать главное — это автоматическое управление памятью в нём возможно, если
                    1) использовать его везде (включая тонны сторонних библиотек, код в которых не контролируется)
                    2) знать критически важные тонкости (типа, зачем ввели make_unique, и ещё кучу специфики, включая 19 видов инициализации и как можно получить проблемы от неверного выбора.


                    В сумме же эти условия недостижимы и при программисте, не имеющем опыта граблей C++ (что будет соответствовать 99.99% учёных), и при просто очень толстом и неоднородном продукте.


                    Когда упрутся в пределы наращивания мощностей суперкомпьютеров и серверов

                    Тогда всё равно все затратные действия уйдут в написанные профессионалами библиотеки, которые будут вылизаны под последние особенности конкретных GPU и TPU, а управляющий слой, который будет запускать конкретные действия и будет занимать при этом меньше тысячной доли времени, может быть написан на самом медленном из интерпретирующих динамических языков, он всё равно не будет ни на что влиять.

          • Yuuri
            /#22078752

            «В современном C++ с либами париться уже почти не нужно» – это тоже абстракция, которая тоже течёт ;)

  5. WondeRu
    /#22076718

    Жизнь коротка, чтобы пользоваться ассемблером.

  6. YuraLia
    /#22076754

    Вообще разбаловались со своими суперкомпьютерами и пайтоном) Они же ускоряют тепловую смерть Вселенной!
    Шутки шутками, но видимо профессор совсем не знаком как устроена экосистема Python, в частности numpy/scipy, и при этом уверенно чертит графики эмиссии CO2 от языка программирования.

    • fenrix
      /#22076864

      numpy/scipy

      Главное циклы не писать

      • kAIST
        /#22076982

        Для циклов есть @numba.jit()

    • darthmaul
      /#22077878

      По моему скромному опыту, учёные — экологи "варятся" в своей среде с кучае стандартов/протоколов, но крайне оторваны от реальных задач, поставленных перед наукой и инженерами. А в некоторых отраслях экологических наук экспертов называют "practitioner" и даже "guru" что намекает...

  7. stokker
    /#22076924 / +1

    Вот это наброс! Наверняка гошники проплатили

  8. Self_Perfection
    /#22076978

    Если важно не допускать увеличение количества CO? в атмосфере, то пусть цена электричества включает в себя стоимость извлечения из атмосферы того количества CO?, которое туда поступило при выработке электроэнергии.


    В жизни и так очень много факторов, которые стоит оптимизировать. С электроэнергией можно хотя бы упростить только до цены, чтобы если я уж я его купил, то мог быть уверен, что это ок, и мне нужно больше ни о чём связанном думать.

    • /#22077038 / +1

      Вы точно не из Германии? Они тоже очень любят в цены включать налог на то, что никогда не произойдёт.

  9. tumaso
    /#22077072

    Надеюсь, что

    астрономы из Лейдинской обсерватории
    будут последовательны и откажутся от использования лекарств (которые ведь тоже моделируются на суперкомпьютерах), откажутся от автомобилей (и здесь без суперкомпьютерных расчетов не обходится) и всего прочего, что приводит к
    увеличению количества CO? в атмосфере

    • Sychuan
      /#22077790

      Да, не стоит забывать что все эти вещи производятся с использованием ископаемого топлива. Скажем в металлургии нужно сжигать уголь, без этого не обойтись. Я думаю им стоит перейти к астрономии по методу Фаллеса. Спустившись в глубокий колодец наблюдать ночами звезды без всяких там извращений цивилизации вроде телескопов.

  10. SteepP
    /#22077150

    Да это просто ответка от Маска, за наезд на старлинк от астрономов.

  11. vikarti
    /#22077160

    А может быть запретить всякие Kepler'ы и Спектры-Р запускать?
    Они ведь приносят двойной вред — и углеродный след от запуска и от обработки данных в том числе на Python.

    • KonkovVladimir
      /#22078626

      Еще курить запретить и перекуры — от них широкий углеродный след.

  12. Sdima1357
    /#22077164

    Хотел повторить свой комментарий что «На счету питона уже много задушенных
    программистов» ( habr.com/ru/post/518838/#comment_22070392 ), но теперь очевидно что не только программистов.

    • YuraLia
      /#22077856 / -2

      Чем же таким душит пайтон некоторых программистов? Какая смысловая нагрузка вашего комментария? Красивая игра слов? Может душит зависть к использующим этот язык? Тогда не питон точно)

      • Sdima1357
        /#22077944 / +1

        Почему меня должна душить зависть? Я им пользуюсь по необходимости. Симуляции в блендере, сверточные сети. Но он мне не нравится. Мне вообще ни один язык программирования не нравится. То есть программировать нравится, уже лет 40 как, а языки не нравятся. Интерпретаторы вообще не люблю, но они тоже нужны, Почему бы и не пошутить по поводу оного из них??? Мне в нем душно. В питоне, в смысле.

        • YuraLia
          /#22078534 / -1

          Шутка плоская и явно неудачная. Все же читая коменты на хабре ожидаешь какую то осмысленную инфу, а не плоские шуточки которые некоторые люди могут счесть и оскорбительными. Python — опенсорсная и бесплатная технология, и тем более если вы сами его используете должны быть благодарны разработчикам которые создали этот язык и экосистему.

          • Sdima1357
            /#22078686 / +1

            У меня уже в красном углу стоят иконы Дениса Ричи и Николаса Вирта.
            И в утренних молитвах я обязуюсь преследовать поклонников змея поганого

  13. firk
    /#22077204

    Странная статья. Хотя скорее это заслуга не автора упомянутых в ней выводов, а журналиста, её писавшего, или хабрапереводчика.


    суперкомпьютер не нужно использовать на полную мощность

    Оптимальное сочетание производительности и выбросов достигается для ~1000 ядер, после чего суперкомпьютер начинает производить больше углерода, чем рабочая станция.

    Кажется речь идёт про какой-то конкретный суперкомпьютер, а то и про конкретную вычислительную программу, на нём запущенную.


    Наконец, автор призвал воздержаться от использования Python, если речь не идет о больших вычислениях.

    Как раз большие вычисления и надо оптимизировать в первую очередь. Я и не предполагал что кто-то додумается для них интерпретируемый язык использовать.


    Хотя в идеале конечно всякие питоны с пхп надо только для построения прототипов использовать, а продакшн программы писать только на компилируемых языках.

    • SteepP
      /#22077298

      продакшн программы писать только на компилируемых языках.
      С учётом того что в 99% случаев из питона вызывается сиплюснутая библиотека, наверное хоть правда, хоть на php напиши, разница будет минимальной.

    • vlreshet
      /#22077434

      PHP уже давно очень быстрый, несмотря на то что интерпретируемый

  14. ALexhha
    /#22077344

    Ээх, не на то направлена их энергия. Знали бы они, сколько энергии, во всем мире, съедает js — не беспокоились бы о питоне

  15. ClearAirTurbulence
    /#22077384

    Надо бы всем этим гражданам запретить пользоваться всеми достижениями науки с того момента, как она стала греть планету расчетами. Желательно с того момента, когда ученые еще пользовались бумагой (они ведь жгли свечи, а потом перешли на лампы накаливания). Тогда у них не останется ни лишнего времени, ни сил, чтобы заниматься такой ерундой.

  16. KonkovVladimir
    /#22078054

    Наконец, автор призвал воздержаться от использования Python, если речь не идет о больших вычислениях. Python (и в меньшей степени Java) требуют значительно больше времени на запуск и производит больше CO2, чем C ++ или Fortran.

    Они учли сколько Це-О-два выделилось при написании кода на фортране?

    • edo1h
      /#22082130 / -1

      с учётом возраста некоторых разработчиков на фортране, имеет смысл учитывать и количество выделенного при разработке кода CH?


      P. S.

      шутка, просто шутка. ничего против разработчиков на фортране не имею, и самому уже давно за 40.

      • KonkovVladimir
        /#22082618 / +1

        Я пишу и на python и на fortran. На фортране на порядок больше строк надо писать для той-же функциональности (на порядок больше ошибок, на порядок больше время на кодирование).
        Если задача творческая и основное время тратится на разработку алгоритма то по суммарным затратам разница не большая.
        Я искал что-то такое же выразительное как python и такое же быстрое как фортран — numba, это то что я нашел для себя. Julia к сожалению не подошла, там мало ООП, некоторые утверждают, что это даже круче, но я не соглашусь.

        PS. не я поставил минус и я не вижу повода для минусов в вашем комментарии

  17. duwaz
    /#22078366 / +1

    Будем ждать исследования, где говорится, что английский язык самый не экологичный. Также с графиками и доказательствами… всё как положено.

    • KonkovVladimir
      /#22079094

      А черный цвет кожи увеличивает поглощение солнечной радиации биосферой Земли, повышая среднегодовую температуру.

  18. Yuuri
    /#22078900

    При работе с одним ядром суперкомпьютер производит меньше углерода, чем рабочая станция.

    Сразу представляются такие гигантские стимпанковые суперкомпьютеры, с дымящими топками, в которые подбрасывают побольше угля, когда начинаются расчёты.

  19. KonkovVladimir
    /#22079930

    Вообщем «выполнил расчет на суперкомпьютере — посади дерево»

  20. mrtux
    /#22083476 / +3

    Куда-то он не туда воюет. Хотите спасти планету — отстреливайте js-программистов, они уже превратили веб в жирное жручее дерьмо, а теперь ещё и на десктопы лезут.

  21. xl0e
    /#22083578 / +1

    А это точно астрономы? Не совсем профильное исследование.

  22. eegdude
    /#22085642

    А как компьютеры производят углерод? Я думал, его в шахтах добывают.