#параллелизация — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #параллелизация, aggregated by home.social.
-
Алгоритмы в повседневной жизни
Вы когда-нибудь задумывались, что поиск футболки в шкафу — это O(N), а приготовление ужина — многопоточный процесс с I/O blocking? Мы пишем код, но забываем, что алгоритмы могут оптимизировать не только сервисы, но и повседневность. В этой статье вы найдете 6 алгоритмов, которые позволят превратить быт в систему: от порядка в шкафу до быстрого выбора хлеба в магазине. Станьте архитектором не только кода, но и своей жизни! Не кликайте, если любите хаос
https://habr.com/ru/articles/945994/
#алгоритмы #прокрастинация #эффективность #сортировка #программирование #параллелизация #таймменеджмент #продуктивность #оптимизация #привычки
-
[Перевод] Уроки, извлеченные из масштабирования до многотерабайтных датасетов
В этой статье я расскажу об уроках, которые вынес при работе с многотерабайтными датасетами. Объясню, с какими сложностями столкнулся при увеличении масштабов датасета и как их удалось решить. Я разделил статью на две части: первая посвящена масштабированию на отдельной машине, вторая — масштабированию на множестве машин. Наша цель — максимизировать доступные ресурсы и как можно быстрее выполнить поставленные задачи.
https://habr.com/ru/companies/magnus-tech/articles/834506/
#датасеты #big_data #joblib #машинное+обучение #параллелизация #spark #dask #виртуализация #инстансы #виртуальная_машина
-
Что не так с ООП в 2025
Несмотря на то, что сам я ушел из большого ООП¹ более десяти лет назад, причем, надеюсь, навсегда, я всегда крайне вяло и неохотно участвую в баталиях тупоконечников и остроконечников: я абсолютно убежден, что для разных типов задач лучше подходят разные инструменты, и выхолощенное ФП заставит всех вокруг создавать тонны никому не нужного бойлерплейта для тривиального круда, а кристальное ООП — воткнет все возможные палки в колёса при реализации бизнес-процессов. Любой из современных языков программирования позволяет смешивать эти подходы, а микросервисная архитектура — даже гостеприимно приютит несколько языков и сред под одной крышей. Тем не менее, хотя я никогда не считал себя евангелистом функционального подхода, и уж, тем более, не примыкал к стану воинствующих пуристов, меня постоянно свербил вопрос: что же все-таки не так с ООП, если лично мне быстрее, проще и понятнее — реализовывать свои проекты на функциональном эликсире? И вот, наконец, меня озарило. Объектная модель всем хороша в однопоточной среде. Даже банальная асинхронность приносит кучу совершенно нерелевантных проблем: мьютексы любого сорта — это порождение дьявола. В игрушечных примерах из книжек они езе как-то работают, но действительно _многопоточный_ код на них написать фактически нереально. Среда, которая буквально приглашает разработчика ошибиться и разрушить тотальность функций потенциальным дедлоком — не должна иметь права на существование в принципе. Что не так с ООП в высокосвязном хайлоаде
-
[Перевод] Сложно ли генерировать 1024-битные простые числа?
Простые числа удивительны! С одной стороны, их легко объяснить: это просто числа, которые делятся только на единицу и на себя; с другой стороны, они содержат в себе бесконечную сложность. Они встречаются во множестве разных сфер, от математических концепций и гипотез до любопытных визуализаций и криптографии, лежат в основе многих Интернет-стандартов и протоколов безопасности, которые мы используем ежедневно. Несмотря на моё восхищение простыми числами, я никогда не исследовал их подробно, поэтому решил бросить себе вызов. А есть ли лучший способ изучить простые числа, чем воспользоваться моей любовью к кодингу для их генерации? Вызов Но какие простые числа мне генерировать? Нахождение миллиардного числа — это слишком просто, а попадание в таблицу рекордов самых больших известных простых чисел — слишком амбициозная задача для первой попытки. Соединив простые числа и интерес к криптографии, я придумал такую задачу: Генерировать простые числа, способные генерировать ключи для алгоритма RSA На момент написания этой статьи хорошей длиной ключей RSA считаются 2048 битов . Ключи RSA генерируются перемножением двух простых чисел, так что для получения 2048-битного ключа нам нужны два числа длиной примерно 1024 бита. Это ограничивает рамки задачи генерацией 1024-битных простых чисел . Теперь вы знаете, откуда взялось число из заголовка поста.
https://habr.com/ru/articles/813915/
#простые_числа #rsa #тест_простоты #криптографические_ключи #оптимизация_кода #параллелизация
-
Построение планов параллельного выполнения программ для процессоров со сверхдлинным машинным словом (проект)
Процессоры архитектуры сверхдлинного машинного слова (VLIW - Very Long Instruction Word ) относятся к специфическим классам архитектур, прямо нацеленным на использование внутреннего параллелизма в алгоритмах (программах), причём параллелизм этот анализируется и планируется к рациональному использованию при вычислениях на программном уровне; собственно аппаратная часть освобождается от процедур распараллеливания (и поэтому должна стать проще и экономичнее использующих внутреннее распараллеливание). VLIW-подход основан на идее загрузки во входной буфер процессора одновременно набора ( bundle ) допускающих параллельное выполнение машинных команд и исполнения этого ряда команд аналогично единой команде в процессорах классической архитектуры. VLIW-процессоры реализуют параллелизм уровня ILP ( Instruction-Level Parallelizm , параллелизм уровня машинных инструкций) и SMP ( Symmetric MultiProcessing , системы с общей памятью) идеологему работы с оперативной памятью. Несмотря на выпуклое преимущество (программным путём дешевле реализовать сложные процедуры параллелизации), работа VLIW-процессоров сопряжена с известными проблемами. Среди них называют статичность полученных планов параллельного выполнения и проблемы с излишней неравномерностью времени доступа к оперативной памяти разных вычислительных ядер (временна́я антиплотность кода, следствием является резкое снижение производительности из-за неизбежности определять время выполнения всей связки команд сверхдлинного слова по продолжительности наиболее длинной из них).
https://habr.com/ru/articles/792744/
#алгоритм #параллелизация #скрытый_параллелизм #информационная_структура_алгоритма #информационный_граф_алгоритма