Немецкий товарищ собрал очень впечатляющую коллекцию у себя в подвале и даже когда-то открывал доступ в сети для некоторых из этих компьютеров, но из-за дороговизны электричества сейчас почти ничего не включает.
Удивительно, что еэску на драгметаллы сразу не растащили. :) Даже ЕС-1840 из-за этого распиливали.
Поставить его можно только если портировать, а потом поддерживать архитектуру в новых версиях ядра.
Не удивительно, что linux уже лишился поддержки многих архитектур.
Советские разработчики просто взяли AT&T Unix и запустили его на западных же архитектурах, а на БЭСМ-6 ее уже портировать не смогли :)
Причем даже сишный компилятор для БЭСМ делали не с нуля, а переделывали буржуйский Portable C Compiler (при этом им занимался один (!) человек).
Могу предположить, что Юникс не пошел из-за маленького размера адресуемой памяти. Но такие размеры для системы 60-х были вполне нормальны, для запуска Юникс требовалась модернизация, БЭСМ-10, но этого не случилось.
СССР вовсю закупал западное оборудование для производства электроники, просто на выходе получался низкий уровень выхода годных и постоянное устаревание. Нельзя 10 лет штамповать одно и тоже, электроника — это не Жигули.
ICL предлагала сотрудничество и готовый продукт, под который было не мало софта. С ними могли бы налаживать и модернизацию. Конечно, это всё фантастика, но не невозможная. Британцам катастрофически не хватало рынков, американцы теснили их отовсюду.
Жигули поставляли по принципу «ножницы» — дешево за границу, дорого дома.
Т.е. за счет советского народа. Чем советский народ так провинился, чтобы еще и экспорт ЭВМ оплачивать? :) А на смену БЭСМ-6 пришел Эльбрус, но он был уже сильно так себе и стоил как чугунный мост (и производство и обслуживание).
C софтом там тоже было грустновато.
Дешево — это было за валюту, а на честный рублевый эквивалент скорее нет. Эльбрус — это не смена БЭСМ-6, а очень дорогая разработка для военных. У гражданских не хватило бы денег даже на поддержание температурного режима. :)
А Вы знаете, что стало с Каиссой? Бросили ее нафиг, потому что не было ресурсов поддерживать.
А соперничала она со студенческими (!) проектами Duchess и Chess.
Студенты в свободное время развлекались, а нам важно было показать, какие мы крутые ;)
В том то и дело, что все ресурсы ушли в мейнфреймы. Может там и были студенты, но лучшего тогда у американцев не было.
Вы знаете, кстати, как делали FORTRAN для БЭСМ-6? Взяли версию для CDC и творчески портировали :) Т.е. пытались копи-пастить и раньше, но ведь не только с мейнфреймов копировали, но и с микрокомпьютеров.
Как сейчас — взяли Linux и назвали его российской OS :)
Все понемножку копипастят. В том-то и дело, что была бы БЭСМ-10, Уралы или ICL туда бы накопипастили, но это было бы развитие, а не то что получилось. Кстати, Каисса была именно на ICL.
А они еще сильнее хотели западный софт, там клоны были вовсю.
Им даже запрещали свое творить, пытались в советские проекты втянуть, но они так же драли PDP-11 (сами, без помощи СССР) и т.д.
А восточные немцы нам проект ЕС и впарили, кстати :)
Наверное заведующие соответствующим отделом в ЦК имел соответствующие установки. :)
Ни в каком не в сарае, а в компании Acorn, ее основатели к тому времени были миллионерами. Производством занималась VLSI, а используемые ей технологии были сильно круче, чем все, что было в СССР.
Причем софт то был сразу — компьютеры на ARM были совместимы с BBC Micro — стандартным школьным компьютером от Acorn.
Вот материал — ищем там слово сарай (a barn). :) VLSI имела тогда довольно посредственные технологии, сильно уступающие Motorola, Intel или DEC. Хотя это было и покруче среднего по СССР. О том и речь, что можно было покупать зарубежные технологии и специалистов как делали в 30-е.
Но те, кто писал революционный софт и создавал свои компании — разбогатели. Это великий стимул!
Это скорее единичные легенды. Программисты горели, а деньги делали маркетологи.
Даже на Эльбрус портировали ДЕМОС, чтобы гонять западный софт для UNIX.
Не работает Ваша теория на практике ;)
А почему бы и не портировать? И чем плох этот софт? На современных МСЦТ тоже Линукс (правда уж очень несвежий). Какая теория? Похоже, что Вы, извините, что-то нафантазировали, чего нет.
Вы же сами сейчас не сидите за компьютером с ни с чем не совместимой архитектурой.
У меня Линус, а его можно даже на особо умный тостер поставить, совместимый только с другим тостером. :)
Это означает — целиком построить нам электронную промышленность??
Заставить армянский завод соблюдать качество? ;)))
Почему же всю — несколько образцовых заводов, чтобы было на что народу равняться, а так равнялись на Ереван. :) МиГ-15 был одним из лучших самолетов своего времени, хотя там тоже не обошлось без армянского фактора. :)
Ну и клепали бы их, как Жигули — без особых изменений. Как БЭСМ-6. Толку то?
Жигули модернизировали и даже экспорт в Европу и ещё куда-то наладили. БЭСМ-6 не дали модернизировать…
В мире было программистов сильно больше, чем в СССР. У нас же каждый завод писал себе свой софт для бухгалтерии, людей не хватало ни на что.
Ну и стимула не было — программисты ведь не за участие в дележке прибыли работали, а за фиксированную зарплату.
Не так уж всё и плохо было. Обыграла Каиса же американцев в 1970. И программисты вместо того чтобы тупить копи-паст с мейнфреймов, могли бы делать свои разработки. Потом были ещё венгры, поляки, румыны,… Англичане в сарае АРМ сделали и софт к нему неплохой и сравните масштабы возможностей Acorn и всей централизованной экономики СССР. А в дележе были всегда очень немногие, большинство программистов в мире были обычные наёмные работники.
Причем в СССР были свои операционные системы (ни с чем не совместимые), много ли Вы таких помните? И почему, как Вы думаете, они не получили популярности? :)
Придавили их мейнфреймами и глобальным политическим решением «копипастить!» :) Для своих систем нужно было свое железо.
А толку то? Никто платить ICL валютой за каждый выпущенный компьютер не собирался, речь шла исключительно о том, что выбрали ГДР, где склонировали IBM 360 вместо Англии.
В обоих вариантах подразумевалось сворачивание всех советских несовместимых компьютеров и воровство софт.
Англичане могли бы помочь производство наладить, где бы и без тон драгметаллов все бы нормально работало. В самом массовом реактивном самолете МиГ-15 стояли лицензионные английские моторы и никто англичанам за каждый мотор не платил. Тут можно и итальянцев вспомнить с Жигулями.
а кто писал бы софт для Уралов? В одной IBM программистов было больше, чем во всем СССР.
В мире постоянно возникали новые архитектуры (PDP-11, CP/M, VAX, ...) и софт там как-то нормально писался, без прямого копи-паста с мейнфреймов.
Без изменений с 1966 года! А с софтом там было достаточно грустно — тот же компилятор Паскаля — переделка с версии для CDC.
Неплохой был значит комп, что с ним работали нормально, имея множество клонов рядом. Сам помню, студенты с кафедры СП говорили, что старенькая БЭСМ почти любой другой компьютер может обогнать на расчетах.
других предлагаете заставить
Историю всего лишь обсуждаем, а политика была в 60-е, заставили юзать ИБМ, получилось не очень.
3десь довольно ярко описан драматизм перехода на глобальное клонирование. Трудно, конечно, просчитать, что было бы, если бы дела пошли по другому сценарию. Но могу предположить, что честное сотрудничество с ICL могло бы оказаться предпочтительнее. Уралы также вполне могли получится, мотоциклы вроде получились. :) БЭСМ-6 эксплуатировали до конца СССР, паскаль там вроде был… С клонированием пришло какое-то скорее скорее упадническое программирование, копи-пасты и подгонка под кодировки. Для Apple II сделали много софта из ничего, включая революционный VisiCalc. Oracle начинался со скромненькой PDP-11, а не дорогих мейнфреймов или ваксов…
Забыли упомянуть агрессивную локализацию для России. Нельзя было сменить раскладку клавиатуры и пришлось всем виндуз-юзерам переходить на ЙЦУКЕНГ, а тогда ещё была довольно популярной ЯВЕРТИ. Также директивно пришлось переходить на 1251 кодовую страницу — все отчественные кодировки (кроме 866 для командной строки) были проигнорированы.
Вам дали конкретную ссылку. DEC тоже имела в СССР офисы и что? Ни эта фирма, ни IBM официально никакого отношения к клонированию их компьютеров и использованию ПО без лицензии не имели. Про Ванг деталей не знаю, но нигде в источниках нет про то, что Искры делали по соглашению. Про Коком — ерунда, ограничения пошли только в 80-е, а склонировали архитектуру в 70-е. Разработка архитектуры, софта для неё — это очень затратное дело, проще взять готовое, что и было сделано, в Ванге от этого ничего не получили. Кто-то здесь запостил воспоминания про то как в 70-е добывали документацию Intel… Юникс и на БК портанули, только это было какое-то развлечение только — для работы не годилось. В Киеве Поиск сделали — реально круто, но микросхемы не сами придумали, а другим путем получили.
Спасибо за внимание к статье, но ну вы и даёте! www.computer-museum.ru/books/vt_face/6_rameev_5.htm — такое вот было позорище. А после IBM стали воровать всё, что получалось или скорее на что указывали, — Wang, DEC, Intel,… Xотя об отечественных Уралах даже американцы из Восточного блока хорошо отзываются — en.wikipedia.org/wiki/Charles_Simonyi Ради воровства закрыли и Уралы и БЭСМ-10 и почти уже состоявшееся соглашение с англичанами
Почему только на больших? Куча на числовых данных любого размера отстаёт по порядку даже от Шелла, но обычно чуть обгоняет дерево. А вот на строках куча обгоняет Шелла, что означает, что дорогих операций сравнения там всё же поменьше. Предполагая, что алгоритмы кучи и дерева заслуживают более тщательного изучения, официальные текущие данные по ним явно немного лучше реальных. Кэш, конечно, влияет, но он влияет и на другие алгоритмы. Осмелюсь утверждать, что у кучи и дерева (точнее их стандартных реализаций) имеем скорее O(Nlog2N) или даже чуть хуже. Провести соответствующие тесты совсем несложно…
Результат получился почти никакой. Ускорение только менее 1%. Оптимизировать современные ассемблеры штука непростая, тут две команды могут быть намного быстрее эквивалентной одной, неопределенности из-за поведения предикторов переходов и много других тонкостей. Приведу ещё некоторые данные по результатам работы с вашим кодом с миллиардом чисел: на нулевых данных — 33 cек. (20.5 место — между разными Шеллами), на случайных 0 и 1 — 36 сек. (9.5 место — между Шеллом и flat_stable), на диапазоне из 100 случайных чисел — 50.5 сек. (12.5 место — между std::sort и qsort_hoare2), на упорядоченных числах — 36.7 сек. (18.5 место — между Шеллом и утроенным массивом), на числах c инвертированным порядком — 37 сек. (11.5 место — между хешем и утроенным массивом), на частично упорядоченных числах — 48.3 сек. (7.5 место — между spread и flat_stable), на числах c частично инвертированным порядком — 48.2 сек. (9.5 место — между spread и spin), по заполнения типа 7 данных привести не могу — их пришлось бы ждать возможно больше года. :) Может как-нибудь перепишу ваш код в С++ и добавлю данные в таблицы…
Мои тесты именно и подтверждают все формулы, кроме сортировок деревом и кучей. Последние случаи, как раз, хороший повод проверить эти методы кому-нибудь ещё. Могу предположить, что мне нужно кое-что объяснить. Что в формулах о скорости обычно присутствует символ О, который означает соответствие с точностью до множителя. Так вот эти множители они для практики весьма важны. У Шелла этот множитель меньше, чем у быстрой сортировки и это объясняет почему Шелл до довольно больших массивов обгоняет быструю.
Могу предположить, что если бы в интросорт использовали сортировку Шелла, а не кучей, то это было бы быстрее для случаев, когда быстрая сортировка не идёт.
void MQSort(vector<int> &m, int l, int r) {
LOOP:
if (r - l <= 20) {
int i = l + 1, j;
while (i <= r) {
j = i++;
while (j > 0 && m[j - 1] > m[j]) {
swap(m[j - 1], m[j]);
--j;
}
};
return;
}
int o = m[(l + r)/2], i = l, j = r;
do {
while (m[i] < o) ++i;
while (o < m[j]) --j;
if (i <= j)
swap(m[i++], m[j--]);
} while (i <= j);
if (l < j) MQSort(m, l, j);
if (i < r) {
l = i;
goto LOOP;
}
}
И оказалось, что в данном случае ассемблерные вставки дали преимущество над g++ -O3 примерно в 12%. Код сортировки вставками можно чуть улучшить, взять, например, из quick_double_pivot. Само использование вставок даёт при сортировке случайных чисел примерно 10% ускорения. Спасибо за интересный код.
Удивительно, что еэску на драгметаллы сразу не растащили. :) Даже ЕС-1840 из-за этого распиливали.
Могу предположить, что Юникс не пошел из-за маленького размера адресуемой памяти. Но такие размеры для системы 60-х были вполне нормальны, для запуска Юникс требовалась модернизация, БЭСМ-10, но этого не случилось.
ICL предлагала сотрудничество и готовый продукт, под который было не мало софта. С ними могли бы налаживать и модернизацию. Конечно, это всё фантастика, но не невозможная. Британцам катастрофически не хватало рынков, американцы теснили их отовсюду.
Дешево — это было за валюту, а на честный рублевый эквивалент скорее нет. Эльбрус — это не смена БЭСМ-6, а очень дорогая разработка для военных. У гражданских не хватило бы денег даже на поддержание температурного режима. :)
В том то и дело, что все ресурсы ушли в мейнфреймы. Может там и были студенты, но лучшего тогда у американцев не было.
Все понемножку копипастят. В том-то и дело, что была бы БЭСМ-10, Уралы или ICL туда бы накопипастили, но это было бы развитие, а не то что получилось. Кстати, Каисса была именно на ICL.
Наверное заведующие соответствующим отделом в ЦК имел соответствующие установки. :)
Вот материал — ищем там слово сарай (a barn). :) VLSI имела тогда довольно посредственные технологии, сильно уступающие Motorola, Intel или DEC. Хотя это было и покруче среднего по СССР. О том и речь, что можно было покупать зарубежные технологии и специалистов как делали в 30-е.
Это скорее единичные легенды. Программисты горели, а деньги делали маркетологи.
А почему бы и не портировать? И чем плох этот софт? На современных МСЦТ тоже Линукс (правда уж очень несвежий). Какая теория? Похоже, что Вы, извините, что-то нафантазировали, чего нет.
У меня Линус, а его можно даже на особо умный тостер поставить, совместимый только с другим тостером. :)
Почему же всю — несколько образцовых заводов, чтобы было на что народу равняться, а так равнялись на Ереван. :) МиГ-15 был одним из лучших самолетов своего времени, хотя там тоже не обошлось без армянского фактора. :)
Жигули модернизировали и даже экспорт в Европу и ещё куда-то наладили. БЭСМ-6 не дали модернизировать…
Не так уж всё и плохо было. Обыграла Каиса же американцев в 1970. И программисты вместо того чтобы тупить копи-паст с мейнфреймов, могли бы делать свои разработки. Потом были ещё венгры, поляки, румыны,… Англичане в сарае АРМ сделали и софт к нему неплохой и сравните масштабы возможностей Acorn и всей централизованной экономики СССР. А в дележе были всегда очень немногие, большинство программистов в мире были обычные наёмные работники.
Придавили их мейнфреймами и глобальным политическим решением «копипастить!» :) Для своих систем нужно было свое железо.
Англичане могли бы помочь производство наладить, где бы и без тон драгметаллов все бы нормально работало. В самом массовом реактивном самолете МиГ-15 стояли лицензионные английские моторы и никто англичанам за каждый мотор не платил. Тут можно и итальянцев вспомнить с Жигулями.
В мире постоянно возникали новые архитектуры (PDP-11, CP/M, VAX, ...) и софт там как-то нормально писался, без прямого копи-паста с мейнфреймов.
Неплохой был значит комп, что с ним работали нормально, имея множество клонов рядом. Сам помню, студенты с кафедры СП говорили, что старенькая БЭСМ почти любой другой компьютер может обогнать на расчетах.
Историю всего лишь обсуждаем, а политика была в 60-е, заставили юзать ИБМ, получилось не очень.
И оказалось, что в данном случае ассемблерные вставки дали преимущество над g++ -O3 примерно в 12%. Код сортировки вставками можно чуть улучшить, взять, например, из quick_double_pivot. Само использование вставок даёт при сортировке случайных чисел примерно 10% ускорения. Спасибо за интересный код.