| |||
|
|
Очередные задачи компутерной власти: Параллелизма псто Задумался о том какой у нас щас зоопарк развелся в этой области: Какой у нас есть программируемый параллелизм: 1) схемотехнический (всякие FPGA) 2) многоядерность 3) многопроцессорность 4) всякая векторная фигня 5) GP GPU 6) локальные многомашинные кластеры 7) глобально распределенные кластеры Что у нас есть с точки зрения программирования: 1) всякое CSP схемного уровня (Handel-C) 2) lightweight-треды 3) треды 4) процессы 5) виртуальные машины 6) всякие сокеты и сетевое взаимодействие 7) облачная хрень Причем скажем (2) может довольно причудливым образом раскидываться между 3-6 Наверняка еще что-то забыл. Причем все компоненты этого зоопарка имеют свои плюсы и свои минусы, довольно странно интерферирующие друг с другом и программируются разными инструментами - так что миграция с одного на другой довольно трудоемкий и малопредсказуемый процесс. Imho сейчас чуть не главная тенденция будет сведение этого зоопарка к какому-то минимально обозримому и унифицированному виду, который можно будет программировать не переписывая код по 10 раз и поменьше ломая голову, как раскидать задачу между всеми этими великими возможностями. В идеале конечно должно вообще свестись к тому, что компилятор/runtime это сам делает с учетом имеющихся ресурсов (при этом не просаживая перформанс в 100 раз) Добавить комментарий: |
||||||||||||||