[Перевод] Work-stealing планировщик в Go

Задача планировщика в Go — распределять запущенные горутины между потоками ОС, которые могут исполняться одним или большим количеством процессоров. В многопоточных вычислениях, возникли две парадигмы в планировании: делиться задачами (work sharing) и красть задачи (work stealing).

  • Work-sharing: Когда процессор генерирует новый поток, он пытается мигрировать их на другие процессоры, в надежде, что они попадут к простаивающему или недостаточно нагруженному процессору.
  • Work-stealing: Недостаточно нагруженный процессор активно ищет потоки других процессоров и «крадет» некоторые из них.

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

В Go начиная с версии 1.1 планировщик реализован по схеме work stealing и был написан Дмитрием Вьюковым. Эта статья подробно объясняет устройство work stealing планировщиков и как он устроен в Go.

Читать дальше →
[Перевод] Work-stealing планировщик в Go
Source: habrahabr

«Ген Химеры». Глава 21

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

О чем книга?

Иной мир. Иное будущее человечества. Общество, где все люди жестко поделены на Первый и Второй социальный класс в зависимости от возраста. Двое, которые решили, что смогут быть вместе, несмотря на все законы. И жестокая расплата за их амбиции:)

Жанр

Для меня это, в первую очередь, фантастика с элементами киберпанка, биопанка, антиутопии и постапокалипсиса.

Выход глав

Каждый вторник и пятницу.



Холод отступил моментально, стоило Ойтушу понять, что этого он пришел по его душу. Человек из его воспоминаний, который так старательно пытался сжить его со света, устраивая покушение за покушением. Но сейчас все было по-другому. Он был один на один с Катокином, посреди этого темного леса и неба, которое вот-вот должно было пролиться дождем.
Читать дальше →
«Ген Химеры». Глава 21
Source: geektimes

Пост №3176515

Автор: Rekolit

Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3176515″ }, «headline»: «Очередная ЯЖЕМАТЬ.,People & Blogs,, / яжмать :: видео (video)», «image»: { «@type»: «ImageObject», «url»: «http://img0.joyreactor.cc/pics/post/full/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-%D1%8F%D0%B6%D0%BC%D0%B0%D1%82%D1%8C-3960874.jpeg», «height»: 90, «width»: 120 }, «datePublished»: «2017-07-18T19:09:00+03:00», «dateModified»: «2017-07-18T19:09:00+03:00», «author»: { «@type»: «Person», «name»: «Rekolit» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «» }
Комментировать 
Пост №3176515
Source: Joyreactor

Отозванные Samsung Galaxy Note 7 не пропадут без дела

В начале этого месяца компания Samsung перевыпустила прошлогодний Galaxy Note 7 под новым названием Galaxy Note Fan Edition. В целом это полностью тот же девайс, но с уменьшенной с 3 500 до 3 200 мАч ёмкостью […]
Отозванные Samsung Galaxy Note 7 не пропадут без дела
Source: 4pda

Что нового в IntelliJ IDEA 2017.2

Привет, Хабр!


Мы рады сообщить о выходе крупного обновления IDE – IntelliJ IDEA 2017.2. Поскольку далеко не все следят за новостями в нашем официальном блоге (а также потому, что многим удобнее будет прочитать об этом на русском), в этом посте я расскажу что ждать от новой версии IDE. Кто спешит попробовать обновление самостоятельно, качайте с сайта JetBrains, либо из Toolbox App. Все остальные, добро пожаловать под кат.


Читать дальше →
Что нового в IntelliJ IDEA 2017.2
Source: habrahabr

Raspberry Pi3 против DragonBoard. Отвечаем на критику


Автор: Николай Хабаров, Embedded Expert DataArt, евангелист технологий умного дома.


Результаты тестов, приведенные в статье о сравнении производительности плат Raspberry Pi3 и DragonBoard при работе с приложениями на Python, вызвали сомнения у некоторых коллег.


В частности, под материалом появились такие комментарии:

«… я делал бенчмарки между 32х битными ARM’ами, между 64х битными и между Intel x86_64 и все цифры были сопоставимы. как минимум между 32 битными и 64 битными ARM’ами разница была в десятки процентов, а не в разы. ну или вы просто разное чисто —cpu-max-prime указали».

«Удивительные результаты обычно означают ошибку эксперимента».

«есть подозрение, что в тесте CPU какая-то ошибка. я лично тестил разные ARMы sysbench’ом, но разницы в 25 раз и близко не было. в принципе хороший медиа ARM в CPU тесте может быть в несколько раз эффективней чем BCM2837, но ни как не в 25 раз. подозреваю, что тест для pi был сделан в один поток, а для DragonBoard в 4 потока(4 ядра)».


Речь идет о тесте cpu из пакета тестов sysbench. Ответ на эти предположения получился настолько объемным, что я решил опубликовать его отдельным постом, заодно рассказав о том, почему в некоторых задачах разница может быть настолько колоссальной. Читать дальше →
Raspberry Pi3 против DragonBoard. Отвечаем на критику
Source: geektimes

[Перевод] Применение принципа poka-yoke в программировании на примере PHP

Всем привет! Я Алексей Грезов, разработчик Server Team Badoo. Мы в Badoo всегда стараемся сделать так, чтобы наш код было легко поддерживать, развивать и переиспользовать, ведь от этих параметров зависит, насколько быстро и качественно мы сможем реализовать какую-либо фичу. Одним из способов достижения этой цели является написание такого кода, который просто не позволит совершить ошибку. Максимально строгий интерфейс не даст ошибиться с порядком его вызова. Минимальное количество внутренних состояний гарантирует ожидаемость результатов. На днях я увидел статью, в которой как раз описывается, как применение этих методов упрощает жизнь разработчикам. Итак, предлагаю вашему вниманию перевод статьи про принцип «poka-yoke».

Читать дальше →
[Перевод] Применение принципа poka-yoke в программировании на примере PHP
Source: habrahabr

Xiaomi тизерит анонс Mi5X и MIUI 9

На минувших выходных в сети появилась информация о новой модификации прошлогоднего флагманского смартфона Xiaomi Mi5 — Mi5X. Аппарат станет представителем среднего класса с 5,5-дюймовым дисплеем и восьмиядерным […]
Xiaomi тизерит анонс Mi5X и MIUI 9
Source: 4pda

Пост №3176430

Автор: Dr_Mocker

http://scpfoundation.ru/scp-2019Развернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»http://SCP.reactor.cc/post/3176430″ }, «headline»: «Класс Евклид :: SCP fun :: Объекты SCP (SCP Объекты) :: The SCP Foundation (Secure. Contain. Protect.) :: SCP-2019 :: фэндомы», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/The-SCP-Foundation-%D1%84%D1%8D%D0%BD%D0%B4%D0%BE%D0%BC%D1%8B-SCP-fun-SCP-2019-3960757.png», «height»: 519, «width»: 750 }, «datePublished»: «2017-07-18T17:56:56+03:00», «dateModified»: «2017-07-18T17:56:56+03:00», «author»: { «@type»: «Person», «name»: «Dr_Mocker» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «http://scpfoundation.ru/scp-2019» }
Комментировать 
Пост №3176430
Source: Joyreactor

Пост №3176413

Автор: Robotron3000

ссылка на гифкуРазвернуть { «@context»: «http://schema.org», «@type»: «BlogPosting», «mainEntityOfPage»:{ «@type»:»WebPage», «@id»:»/post/3176413″ }, «headline»: «3 Pattern 1 k Dramatic Hit Hard 10 k Athmo20 k Mammothl9 |k- k Dramatic ..ass Oil / Mike Inel (Mikeinel) :: gif :: artist :: Fl studio :: NSFW», «image»: { «@type»: «ImageObject», «url»: «http://img1.joyreactor.cc/pics/post/full/Mike-Inel-artist-Fl-studio-gif-3960705.jpeg», «height»: 413, «width»: 686 }, «datePublished»: «2017-07-18T17:41:59+03:00», «dateModified»: «2017-07-18T17:41:59+03:00», «author»: { «@type»: «Person», «name»: «Robotron3000» }, «publisher»: { «@type»: «Organization», «name»: «JoyReactor.cc», «logo»: { «@type»: «ImageObject», «url»: «http://joyreactor.cc/images/joyreactor_ie6.png», «width»: 207, «height»: 54 } }, «description»: «к Mammothl9И- Dramatic_..ass_011» }
Комментировать 
Пост №3176413
Source: Joyreactor