«Soft Errors» — необъяснимые проблемы с компьютером

«Soft Errors» — необъяснимые проблемы с компьютером

Администратор

Группа: Главные администраторы
Сообщений: 14349
Регистрация: 12.10.2007
Из: Twilight Zone
Пользователь №: 1

Когда компьютер зависает или выдает пресловутый BSOD, как правило, во всем винят программное обеспечение (а также: кривые драйвера и руки недоучившихся программистов, Microsoft и лично Билла Гейтса и т.д.). Но в последние несколько лет ученые начали более пристально присматриваться к аппаратным сбоям, и обнаружили другой серьезный тип проблем, которые проявляются гораздо чаще, чем многие думают. О них и пойдет речь.

Производители микросхем прилагают массу усилий, чтобы быть уверенными в том, что их продукция проходит тщательное тестирование и работает должным образом. Но они не любят говорить о том, что непросто обеспечить корректную работу микросхем на протяжении длительного времени. С конца 70х годов известно, что скрытые аппаратные проблемы могут вызвать непредвиденное переключение битов внутри микросхем из одного состояния в другое. То, что транзисторы уменьшаются год от года, лишь повышает вероятность того, что попадание пролетающей частицы переключит их состояние. Такие сбои носят название «soft errors» и их значимость будет только расти по мере уменьшения техпроцесса, т.к. даже единственная частица сможет нанести гораздо больший ущерб.

Но «soft errors» — лишь часть проблемы. В течение последних пяти лет исследователи наблюдали за несколькими очень большими дата-центрами, и они обнаружили, что во многих случаях причиной сбоев были попросту неисправные микросхемы памяти. Температурное воздействие или производственные дефекты со временем могут привести к появлению неисправностей компонентов (разрушению проводящих связей или появлению новых). Это «hard errors»

«Soft errors» крайне беспокоят разработчиков следующих поколений микросхем из-за одного важного фактора: энергопотребление. Когда появится следующее поколение суперкомпьютеров, они будут содержать в себе еще больше микропроцессоров и микросхем памяти. И всё это огромное количество транзисторов будет требовать всё больше энергии для того, чтобы избежать неконтролируемого переключения битов.

Сама проблема связана с основами физики. По мере того, как производители делают связи внутри микросхем всё более тонкими, электроны попросту «убегают» как капли воды из дырявого шланга. Чем тоньше связи, тем больше энергии требуется для поддержания корректной работы.

Проблема настолько сложна, что Intel работает совместно с министерством энергетики США и рядом других правительственных организаций для ее разрешения. Используя будущее поколение 5нм технологического процесса, Intel к концу десятилетия позволит создать в 1000 раз более мощные суперкомпьютеры, чем существующие сейчас. Но, кажется, что такие суперкомпьютеры не только будут гораздо быстрее, но и окажутся настоящими пожирателями электроэнергии.

«У нас есть путь, чтобы достичь этого, не беспокоясь об энергопотреблении» (достичь увеличения производительности в 1000 раз). «Но если вы хотите, чтобы мы решили проблему энергопотребления – это за пределами наших планов».

На графике — не самые актуальные данные, да и относящиеся к другому типу памяти. Конкретно для DRAM данных найти не удалось. Но виден общий тренд: повышение уровня напряжения снижает количество сбоев.

Производители не любят говорить о том, как часто их продукция дает сбои – такая информация считается секретной и непросто найти исследования на данную тему. Часто компании просто запрещают своим клиентам говорить о частоте аппаратных сбоев.

«Это область активных исследований. Мы не говорим об этом открыто, т.к. это очень деликатная тема».

«Soft errors» это одна из проблем, но есть и другие проблемы, о которых производители аппаратуры говорят еще меньше. Согласно исследованиям Университета Торонто, когда память компьютера дает сбой, это гораздо вероятнее вызвано возрастом или ошибками изготовления (это «hard errors»), а не «soft errors», причиной которых является космическое излучение.

В 2007 году группа исследователей получила доступ к дата-центрам Google, где ими была собрана информация о том, как часто специализированные Linux-системы поискового гиганта давали сбои. Было зафиксировано в десятки раз больше сбоев, чем ожидалось. Если предыдущие исследования сообщали о цифрах от 200 до 5000 сбоев на миллиард часов работы, то исследования в Google показали цифры от 25000 до 75000.

Но что еще интереснее, примерно 8% чипов памяти оказались повинны в более чем 90% сбоев.

Более пристальный взгляд показал, что сбои имеют тенденцию происходить на более старых представителях машинного парка. После примерно 20 месяцев эксплуатации число сбоев стремительно растет. Вероятно, не случайно типовое обновление IT инфраструктуры происходит в районе трехлетней отметки. И, вероятно, результаты этих исследований окажутся еще одним аргументом в пользу того, что откладывание плановых апгрейдов вскоре начнет обходиться дороже, чем сэкономленные средства.

Таким образом, обнаруженные проблемы оказались «hard errors», а не «soft errors», и их было гораздо больше, чем по самым смелым прогнозам.

Последующие исследования показали аналогичную картину для чипов памяти, используемых IBM в системах Blue Gene и для канадского суперкомпьютера SciNet. Для всех систем частота сбоев памяти оказалась примерно одинаковой.

Исследования, проводимые AMD, также показали, что для чипов DRAM «hard errors» встречаются гораздо чаще, чем «soft errors». Но AMD, как и Intel, никогда не публиковала исследований, касающихся частоты сбоев SRAM памяти, используемой в микропроцессорах

Вилас Сридаран (Vilas Sridharan), reliability architect из AMD и один из авторов статей на данную тему сказал:

«Это не новая проблема. Ошибки в модулях DRAM были впервые замечены в 1979 году, но с тех пор мы продолжаем учиться»

«нет никакой детальной информации, которую они могли бы сообщить на этот счет».

Производителям микросхем следует уделять больше внимания вопросам «hard errors». Сегодня существует множество способов для исправления «soft errors»: начиная от кодов коррекции ошибок (ECC) и заканчивая использованием освинцованных шахт для размещения серверов. Но в деле противостояния «hard errors» всё далеко не так хорошо.

При этом «hard errors» вызывают больше ошибок, чем большинство людей могут предположить. И если Hi-end суперкомпьютеры и сервера могут использовать ECC, то в случае с PC это не так. Большинство мобильных устройств, а также ноутбуков и настольных компьютеров ECC не содержат. Отчасти потому, что, согласно используемой модели сбоев, большинство из них вызвано «soft errors». Такая модель выгодна производителям. А пользователи вносят свою лепту, голосуя «рублем». Если вам доводилось выбирать модули памяти для домашнего (да и не только домашнего) компьютера, рассматривали ли вы наличие ECC как важной детали?

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

Кстати, похожая ситуация наблюдается и для SSD. Выбирая между моделями на 240Gb и 256Gb, при равной цене большинство выберет второй. При этом, то, что в действительности ёмкость одинакова, но первая модель резервирует 16Gb для исправления ошибок заметят единицы, и уж совсем для немногих это повлияет на выбор в пользу первого. Не буду называть конкретные модели и вендоров – это не так существенно.

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

Ну и напоследок тематический демотиватор :

Possible Failures During Database Mirroring Possible Failures During Database Mirroring

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

К сбою во время сеанса зеркального отображения базы данных могут привести различные физические неисправности, ошибки операционной системы или ошибки SQL Server SQL Server . Physical, operating system, or SQL Server SQL Server problems can cause a failure in a database mirroring session. Сеанс зеркального отображения базы данных не выполняет активных проверок компонентов, на которые опирается процесс Sqlservr.exe, и не контролирует правильность их работы. Database mirroring does not regularly check the components on which Sqlservr.exe relies to verify whether they are functioning correctly or have failed. Однако при сбоях некоторых типов затронутый компонент сообщает приложению Sqlservr.exe об ошибке. However, for some types of failures, the affected component reports an error to Sqlservr.exe. Ошибка, о которой сообщил другой компонент, называется постоянной ошибкой. An error reported by another component is called a hard error. Чтобы обнаружить другие сбои, которые в противном случае могли быть не замечены, для зеркального отображения базы данных реализован собственный механизм ожидания. To detect other failures that would otherwise go unnoticed, database mirroring implements its own time-out mechanism. По истечении времени ожидания для зеркального отображения базы данных предполагается, что произошел сбой и объявляется кратковременная ошибка. When a mirroring time-out occurs, database mirroring assumes that a failure has occurred and declares a soft error. Однако некоторые ошибки, которые возникают на уровне экземпляра SQL Server, не превышают времени ожидания зеркального отображения и поэтому не обнаруживаются. However, some failures that happen at the SQL Server instance level do not cause mirroring to time-out and can go undetected.

Ошибки баз данных, кроме ошибок в зеркальной базе данных, невозможно выявить в сеансе зеркального отображения базы данных. Failures in databases other than the mirrored database are not detectable in a database mirroring session. Более того, весьма проблематично будет обнаружить сбой диска данных, если только база данных не перезапускается вследствие такого сбоя. Moreover, a data disk failure is unlikely to be detected, unless the database is restarted because of a data disk failure.

Время обнаружения и, следовательно, время реакции на ошибку в сеансе зеркального отображения зависят от типа ошибки: постоянная или кратковременная. The speed of error detection and, therefore, the reaction time of the mirroring session to a failure, depends on whether the error is hard or soft. Отчеты о некоторых постоянных ошибках, таких как сбои в сети, отправляются немедленно. Some hard errors, such as network failures are reported immediately. Однако в некоторых случаях зависящие от компонента периоды ожидания могут отложить отправку отчета о некоторых постоянных ошибках. However, in some cases, component-specific time-out periods can delay the reporting of some hard errors. В случае краткосрочных ошибок, длина времени ожидания зеркала определяется скоростью определения ошибок. For soft errors, the length of the mirroring time-out period determines the speed of error detection. По умолчанию, это период равен 10 секундам. By default, this period is 10 seconds. Это минимальное рекомендуемое значение. This is the minimum recommended value.

Сбои из-за постоянных ошибок Failures Due to Hard Errors

Постоянные ошибки могут быть вызваны следующими причинами (но не ограничиваются ими): Possible causes of hard errors include (but are not limited to) the following conditions:

физический разрыв соединения или кабеля; A broken connection or wire

неисправная сетевая плата; A bad network card

изменение настроек маршрутизатора; A router change

изменения в конфигурации брандмауэра; Changes in the firewall

изменения в конфигурации конечной точки; Endpoint reconfiguration

выход из строя накопителя, на котором находятся журналы транзакций; Loss of the drive where the transaction log resides

сбой операционной системы или процесса. Operating system or process failure

Например: если устройство, на котором ведется журнал основной базы данных, не отвечает и отказывает, операционная система сообщает процессу Sqlservr.exe о возникновении серьезной ошибки. For example, when the log drive on the principal database becomes unresponsive and fails, the operating system informs Sqlservr.exe that a serious error has occurred.

Некоторые компоненты, например сетевые компоненты и ряд подсистем ввода-вывода, имеют собственные интервалы ожидания, предназначенные для выявления отказов. Some components, such as network components and some IO subsystems, have their own time-outs to determine failures. Некоторые интервалы ожидания не зависят от зеркального отображения базы данных, у которой совершенно нет сведений ни о них, ни об их поведении. Such time-outs are independent of database mirroring, which has no knowledge of them and is completely unaware of their behavior. В этих случаях интервал ожидания увеличивает время между возникновением сбоя и получением зеркалом базы данных итоговой постоянной ошибки. In these cases, the time-out delay increases the time between a failure and when database mirroring receive the resulting hard error.

Единственным случаем, когда для сеанса зеркального отображения базы данных выполняется активная проверка на ошибки, являются кратковременные ошибки. The only active error checking performed for database mirroring occurs for soft error cases. Дополнительные сведения см. в подразделе «Сбои из-за кратковременных ошибок» далее в этом разделе. For more information, see “Failures Due to Soft Errors,” later in this topic.

Чтобы помочь интерпретировать условия возникновения ошибок в сети, спросите у инженера сети, какие сообщения об ошибках отправляются на порт перед возникновением следующих событий в соединении TCP. To help you interpret the error conditions that occur on the network, ask a network engineer what error messages are sent to a port when the following events occur on a TCP connection:

DNS не работает. DNS is not working.

Выдернуты кабели. Cables are unplugged.

Microsoft Microsoft Windows, блокирующий указанный порт. Windows has a firewall that blocks a specific port.

Читайте также:  Как скачать d3dcompiler_43.dll и что это за файл

Ошибка приложения, наблюдающего за портом. The application that is monitoring a port fails.

Переименован сервер Windows. A Windows-based server is renamed.

Перезагружен сервер Windows. A Windows-based server is rebooted.

Зеркальное отображение не защищает от проблем, связанных с доступом клиентов к серверу. Mirroring does not protect against problems specific to client accessing the servers. Например, рассмотрите ситуацию, в которой публичный сетевой адаптер обрабатывает подключения клиентов к экземпляру основного сервера, в то время как частная сетевая карта обрабатывает весь трафик зеркального отображения между экземплярами серверов. For example, consider a case in which a public network adapter handles client connections to the principal server instance, while a private network interface card handles all mirroring traffic among server instances. В этом случае сбой публичного сетевого адаптера приведет к запрету доступа к базе данных, в то время как зеркалирование базы данных будет продолжать работать. In this case, failure of the public network adapter would prevent clients from accessing the database, though the database would continue to be mirrored.

Сбои из-за кратковременных ошибок Failures Due to Soft Errors

Условия, приводящие к превышению времени ожидания при зеркальном отображении, могут быть вызваны следующими причинами (но не ограничиваются ими). Conditions that might cause mirroring time-outs include (but are not limited to) the following:

Сетевые ошибки (истечение времени ожидания канала связи TCP, пропущенные или искаженные пакеты, поступление пакетов в неверном порядке). Network errors such as TCP link time-outs, dropped or corrupted packets, or packets that are in an incorrect order.

Операционная система, сервер или база данных не отвечает на запросы. An operating system, server, or database that is not responding.

Время ожидания сервера Windows. A Windows server timing out.

Нехватка вычислительных ресурсов (например, из-за перегрузки ЦП или диска, переполнения журнала транзакций, переполнения памяти или превышения числа потоков). Insufficient computing resources, such as a CPU or disk overload, the transaction log filling up, or the system is running out of memory or threads. В таких случаях необходимо увеличить время ожидания, снизить рабочую нагрузку или сменить оборудование, чтобы оно соответствовало задачам, выполняемым системой. In these cases, you must increase the time-out period, reduce the workload, or change the hardware to handle the workload.

Механизм ожидания при зеркальном отображении The Mirroring Time-Out Mechanism

Так как экземпляр сервера не в состоянии выявить кратковременные ошибки, они потенциально могут заставить экземпляр сервера бесконечно ожидать ответа. Because soft errors are not detectable directly by a server instance, a soft error could potentially cause a server instance to wait indefinitely. Для предотвращения такого поведения в сеансе зеркального отображения базы данных используется механизм ожидания, основанный на том, что каждый экземпляр сервера, участвующий в сеансе, через заданный промежуток времени посылает сообщение PING по всем открытым соединениям. To prevent this, database mirroring implements its own time-out mechanism, based on each server instance in a mirroring session sending out a ping on each open connection at a fixed interval.

Чтобы поддерживать соединение открытым, экземпляр сервера должен получить по нему сообщение PING в течение времени ожидания, заданного интервалом ожидания в сеансе зеркального отображения базы данных, плюс время, необходимое для отправки еще одного сообщения PING. To keep a connection open, a server instance must receive a ping on that connection in the time-out period defined, plus the time that is required to send one more ping. Получение сообщения PING до истечения интервала ожидания указывает на то, что соединение все еще открыто, и что экземпляры сервера поддерживают связь по нему. Receiving a ping during the time-out period indicates that the connection is still open and that the server instances are communicating over it. При получении сообщения PING экземпляр сервера сбрасывает таймер ожидания для этого соединения. On receiving a ping, a server instance resets its time-out counter on that connection.

Если до истечения интервала ожидания сообщение PING не пришло, экземпляр сервера считает, что для соединения наступил тайм-аут. После этого экземпляр сервера закрывает соединение, для которого время ожидания истекло, и обрабатывает событие истечения времени ожидания в соответствии с состоянием и режимом работы сеанса. If no ping is received on a connection during the time-out period, a server instance considers the connection to have timed out. The server instance closes the timed-out connection and handles the time-out event according to the state and operating mode of the session.

Истечение времени ожидания будет считаться сбоем даже в том случае, если фактически другой сервер работает нормально. Even if the other server is actually proceeding correctly, a time-out is considered a failure. Если время ожидания для сеанса установлено слишком коротким и не позволяет поддерживать нормальное реагирование какого-либо из участников, возникают ложные сбои. If the time-out value for a session is too short for the regular responsiveness of either partner, false failures can occur. Ложные сбои возникают, когда один экземпляр сервера успешно обращается к другому, время отклика которого настолько велико, что его сообщения PING не успевают дойти до истечения времени ожидания. A false failure occurs when one server instance successfully contacts another whose response time is so slow that its pings are not received before the time-out period expires.

В сеансах высокопроизводительного режима тайм-аут всегда равен 10 секундам. In high-performance mode sessions, the time-out period is always 10 seconds. Обычно этого достаточно для избегания ложных сбоев. This is generally enough to avoid false failures. В сеансах режима высокой безопасности установленный по умолчанию тайм-аут равен 10 секундам, но его длительность можно изменить. In high-safety mode sessions, the default time-out period is 10 seconds, but you can change the duration. Во избежание ложных сбоев рекомендуется установить тайм-аут зеркалирование равным 1- секундам или выше. To avoid false failures, we recommend that the mirroring time-out period always be 10 seconds or more.

Изменение величины тайм-аута (только в режиме высокой безопасности) To change the time-out value (high-safety mode only)

Просмотр текущего значения времени ожидания To view the current time-out value

  • Запрос mirroring_connection_timeout в sys.database_mirroring. Query mirroring_connection_timeout in sys.database_mirroring.

Реакция на ошибку Responding to an Error

Независимо от типа ошибки, экземпляр сервера, который обнаружил ее, реагирует в соответствии со своей ролью, режимом работы сеанса и состоянием других соединений того же сеанса. Regardless of the type of error, a server instance that detects an error responds appropriately based on the role of the instance, the operating mode of the session, and the state of any other connection in the session. Сведения о том, что происходит при потере участника, см. в разделе Database Mirroring Operating Modes. For information about what occurs on the loss of a partner, see Database Mirroring Operating Modes.

Soft errors и hard fails

Часть природы оперативной памяти состоит в том, что она неизбежно терпит сбой. Эти ошибки обычно классифицируются как два основных типа: “hard fails” и “soft errors”.

Soft errors и hard fails

Лучшее понимание “hard fails” таково – чип работает, а затем из-за какого-то недостатка, физического повреждения или другого события становится повреждённым и испытывает перманентный сбой. Для исправления этого типа отказа обычно требуется замена некоторой части аппаратного обеспечения памяти, например, чип, SIMM или DIMM. Коэффициент “hard fails” известен как HER.

Другой, более коварный тип отказа – это “soft errors” – непостоянный сбой. Который может не повторяться или происходить только в редкие промежутки времени. Коэффициент “soft errors” известен как SER.

В конце 1970-х годов Intel сделала вывод о “soft errors”, который потряс индустрию памяти. Он обнаружил, что в 16-килобайтовых DRAM, которые были доступны в то время, альфа-частицы вызывают неприемлемо высокий процент “soft errors” или однократных сбоев (SEU). Поскольку альфа-частицы – это частицы с низкой энергией и могут быть остановлены чем-то тонким и лёгким, например, лист бумаги, стало ясно, что вызывающие “soft error” DRAM альфа-частицы, должны поступать из полупроводникового материала. Тестирование показало на используемые в то время микроэлементы тория и урана в пластиковых и керамических чип-упаковках. Это открытие заставило всех производителей памяти перенацелить свои производственные процессы на производство свободных от загрязнения материалов.

В настоящее время производители памяти полностью исключили источник альфа-частиц “soft errors” и более поздние открытия доказывают, что альфа-частицы теперь составляют лишь небольшую часть причины “soft errors” DRAM.

Как оказалось, сегодня самая большая причина “soft errors” – космические лучи. Исследователи IBM начал расследование потенциала наземных космических лучей в возникновении ошибок аналогичных альфа-частицам. Разница в том, что космические лучи – частицы высоких энергий и не могут быть остановлены листами бумаги или другими более мощными видами экранирования. Были произведены важные исследования по изучению космических лучей и их влияние на “soft errors” в памяти. Один интересный ряд экспериментов показал, что ошибки, вызванные космическим лучом, были устранены, когда DRAM переместили в подземный свод, защищённый более чем 50 футами скалы.

Ошибки, вызванные космическими лучами, представляют ещё большую проблему в SRAM, чем DRAMS, потому что количество заряда, необходимое для перевертывания бит в ячейке SRAM, меньше, чем требуется для переключения конденсатора ячейки DRAM. Космические лучи также серьёзная проблема для более высокой компактности памяти. По мере увеличения плотности чипа, выбить бит блуждающей частице становится проще. Некоторые предсказывали, что частота “soft error” 64 МБ DRAM вдвое больше, чем у чипов 16 МБ, а у DRAM 256 МБ – в четыре раза выше. Так как размер памяти продолжает расти, вполне вероятно, что также увеличатся и “soft error”.

К сожалению, индустрия ПК в значительной степени не распознала эту причину ошибок памяти. Намного легче объяснить случайный и прерывистый характер “soft error”электростатическим разрядом, скачком напряжения и нестабильностью программного обеспечения, особенно сразу после установки новой версии операционной системы (ОС) или крупного приложения.

Хотя самой большой причиной “soft error” пожалуй являются космические лучи и другие радиационные события, они также могут быть вызваны следующим:

  • Сильные сбои или шум на линии – это может быть вызвано неисправным источником питания в системе или дефектной мощностью на выходе.
  • Неверный тип или скорость. Память должна быть для чипсета правильного типа и соответствовать скорости доступа к системе.
  • Радиочастотная (RF) помеха – вызвана радиопередатчиками в непосредственной близости к системе. Может генерировать электрические сигналы в системной проводке и схемах. Имейте в виду, что широкое использование беспроводных сетей, клавиатур, мышей и других устройств, может привести к большему риску радиочастотных помех.
  • Статические разряды. Эти разряды вызывают сильные изменяющие данные всплески мощности.
  • Сбои тайминга – данные не поступают в нужное место в надлежащее время, вызывая ошибки. Часто возникает из-за неправильных настроек памяти в BIOS Setup, которая оценивается медленнее, чем требуется системе, или разогнанному процессору и другим системным компонентам
  • Тепловыделение. Высокоскоростные модули памяти нагреваются сильнее, чем более старые. Модули RDRAM RIMM были первой памятью, включающей интегрированные теплораспределители, а многие модули памяти DDR, DDR2, DDR3 и DDR4 с высокой производительностью теперь включают в себя распределители тепла, которые помогают бороться с его накоплением.

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

Как справиться с этими ошибками? Лучший способ для решения этой проблемы – повысить отказоустойчивость системы. Это означает реализацию способов обнаружения и, возможно, исправления ошибок в системах ПК. Для обеспечения отказоустойчивости в современных ПК используются три основных уровня и метода:

Nonparity системы не имеют отказоустойчивости. Единственная причина, почему они используются – низкая стоимость. Никакой дополнительной памяти, как в случае с методами контроля parity (чётности) или ECC, не требуется.

Поскольку байт данных типа parity имеет 9 бит против 8 для nonparity, стоимость памяти приблизительно на 12,5% выше. Кроме того, упрощён контроллер памяти nonparity, потому что ему не нужны логические выходы для вычисления бит проверки чётности или ECC.

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

Эта частота ошибок может быть приемлемой для low-end систем, которые не используются для критически важных приложений. В этом случае высокая рыночная цена, вероятно, не может оправдывать дополнительную стоимость parity или памяти ECC, и поэтому такие ошибки допустимы.

«Soft Errors» – незрозумілі проблеми з комп’ютером

Прочитав в wired і вирішив перевести. Стаття, звичайно, на рівні комсомольської правди, але може бути цікавою

Близько року тому у Стівена Джакіса (Stephen Jakisa) виникли серйозні проблеми з його комп’ютером. Вони почалися, коли він встановив Battlefield 3 – шутер від першої особи, дія в якому розгортається в недалекому майбутньому. Незабаром проблеми були не тільки в грі, але і його браузер “вилітав” кожні 30 хвилин або близько того. У підсумку він навіть не міг встановити ніяких програм на свій ПК.

Читайте также:  Лучшие способы подшутить над коллегами и домочадцами с помощью компьютера

Дійшло до того, що Стівен – програміст за фахом, і цілком розбирається в техніці людина, вирішив що “зловив” вірус або, можливо, встановив якийсь ПО з серйозними багами. З проблемою він вирішив звернутися до свого друга Іоанну Стефанович (Ioan Stevanovici), який як раз писав дисертацію по надійності комп’ютерів.

Після недовгої діагностики, Стівен і Іоанн виявили проблему – поганий чіп пам’яті в комп’ютері Джакіса. Оскільки комп’ютер прекрасно працював близько шести місяців до виникнення проблеми, Стівен не підозрював неполадок в устаткуванні, поки його товариш не вмовив запустити спеціальний тест для аналізу пам’яті. Для Стівена це було досить незвично.Як він сам сказав: “Якби це сталося з кимось на вулиці, з ким-то, хто нічого не знає про комп’ютери, він, мабуть, був би в глухому куті”.

Після того, як Джакіса витягнув проблемний модуль пам’яті, його комп’ютер працює нормально.

Коли комп’ютери ламаються, як правило, вважають, що проблеми з програмним забезпеченням. Однак в останні кілька років вчені-комп’ютерники стали звертати все більш пильну увагу на апаратні збої і приходити висновку до того, що проблеми з-за них відбуваються набагато частіше, ніж багато хто думає.

Soft Errors

Синій екран смерті в Windows 8

Виробники мікросхем проводять серйозну роботу з тестування своїх чіпів, перш ніж випустити їх в продаж, але вони не люблять говорити про той факт, що досить складно забезпечити працездатний стан мікросхем протягом довгого часу. З кінця 70-х років минулого століття виробникам чіпів відомо, що ряд апаратних проблем можуть бути викликані зміною стану бітів всередині мікропроцесорів. У міру зменшення розмірів транзисторів, поведінку заряджених частинок в них стає все менш передбачуваним. Виробники називають такі помилки “soft error”, хоча вони і не мають відношення до програмного забезпечення.

Однак, ці soft errors – складають лише частину проблеми: протягом останніх п’яти років дослідники, вивчаючи складні і великі комп’ютерні системи, прийшли до висновку, що в багатьох випадках використовується нами комп’ютерна техніка є просто зламаною. Висока температура або виробничі дефекти можуть привести до того, що електронні компоненти виходять з ладу через певний час, дозволяючи електронам вільно перетікати між транзисторами або каналами мікросхеми, призначеної для передачі даних.

Вчені, які беруть участь в розробці комп’ютерних чіпів наступних поколінь проявляють серйозне занепокоєння з приводу таких помилок і один з головних аспектів цієї проблеми – енергія. У міру виробництва наступних поколінь комп’ютерів, вони набувають все більшу кількість мікросхем і все більш дрібні компоненти. І, в рамках цих крихітних транзисторів, все більше енергії необхідно для того, щоб утримувати біти всередині них.

Проблема пов’язана з фундаментальною фізикою. У міру того, як виробники мікросхем пересилають електрони по всі меншим і меншим каналам, електрони просто вибиваються з них.Чим менше провідні канали, тим більше електронів можуть “витекти” і тим більшу кількість енергії потрібно для нормального функціонування комп’ютерів. Ця проблема є настільки складною, що компанія Intel працює спільно з Міністерством енергетики США та іншими урядовими установами для її вирішення. В майбутньому Intel планує використовувати 5-нм технологічний процес для виготовлення мікросхем, які будуть більш ніж в 1000 разів перевершувати по продуктивності ті, які очікуються до кінця цього десятиліття. Однак, схоже, що подібні чіпи зажадають також і неймовірної кількості енергії.

“Ми знаємо, як зробити такі чіпи, якщо не турбуватися про споживання енергії”, – говорить Марк Сігер (Mark Seager), головний директор за технологіями високопродуктивних обчислювальних екосистем в Intel, – “Але якщо Ви попросите нас відповісти і на це питання – це вище наших технічних можливостей “.

Для звичайних користувачів комп’ютерів, таких як Стівен Джакіса, світ подібних помилок – невідома область. Виробники чіпів не люблять говорити про те, як часто їх продукція дає збої, вважаючи за краще тримати цю інформацію в таємниці.

DRAM Errors или не спешите винить Software


Когда компьютер зависает или выдает пресловутый BSOD, как правило, во всем винят программное обеспечение (а также: кривые драйвера и руки недоучившихся программистов, Microsoft и лично Билла Гейтса и т.д.). Но в последние несколько лет ученые начали более пристально присматриваться к аппаратным сбоям, и обнаружили другой серьезный тип проблем, которые проявляются гораздо чаще, чем многие думают. О них и пойдет речь.

Производители микросхем прилагают массу усилий, чтобы быть уверенными в том, что их продукция проходит тщательное тестирование и работает должным образом. Но они не любят говорить о том, что непросто обеспечить корректную работу микросхем на протяжении длительного времени. С конца 70х годов известно, что скрытые аппаратные проблемы могут вызвать непредвиденное переключение битов внутри микросхем из одного состояния в другое. То, что транзисторы уменьшаются год от года, лишь повышает вероятность того, что попадание пролетающей частицы переключит их состояние. Такие сбои носят название «soft errors» и их значимость будет только расти по мере уменьшения техпроцесса, т.к. даже единственная частица сможет нанести гораздо больший ущерб.

Но «soft errors» — лишь часть проблемы. В течение последних пяти лет исследователи наблюдали за несколькими очень большими дата-центрами, и они обнаружили, что во многих случаях причиной сбоев были попросту неисправные микросхемы памяти. Температурное воздействие или производственные дефекты со временем могут привести к появлению неисправностей компонентов (разрушению проводящих связей или появлению новых). Это «hard errors»

Soft Errors

«Soft errors» крайне беспокоят разработчиков следующих поколений микросхем из-за одного важного фактора: энергопотребление. Когда появится следующее поколение суперкомпьютеров, они будут содержать в себе еще больше микропроцессоров и микросхем памяти. И всё это огромное количество транзисторов будет требовать всё больше энергии для того, чтобы избежать неконтролируемого переключения битов.

Сама проблема связана с основами физики. По мере того, как производители делают связи внутри микросхем всё более тонкими, электроны попросту «убегают» как капли воды из дырявого шланга. Чем тоньше связи, тем больше энергии требуется для поддержания корректной работы.
Проблема настолько сложна, что Intel работает совместно с министерством энергетики США и рядом других правительственных организаций для ее разрешения. Используя будущее поколение 5нм технологического процесса, Intel к концу десятилетия позволит создать в 1000 раз более мощные суперкомпьютеры, чем существующие сейчас. Но, кажется, что такие суперкомпьютеры не только будут гораздо быстрее, но и окажутся настоящими пожирателями электроэнергии.

«У нас есть путь, чтобы достичь этого, не беспокоясь об энергопотреблении» (достичь увеличения производительности в 1000 раз). «Но если вы хотите, чтобы мы решили проблему энергопотребления – это за пределами наших планов».

На графике — не самые актуальные данные, да и относящиеся к другому типу памяти. Конкретно для DRAM данных найти не удалось. Но виден общий тренд: повышение уровня напряжения снижает количество сбоев.

Производители не любят говорить о том, как часто их продукция дает сбои – такая информация считается секретной и непросто найти исследования на данную тему. Часто компании просто запрещают своим клиентам говорить о частоте аппаратных сбоев.

«Это область активных исследований. Мы не говорим об этом открыто, т.к. это очень деликатная тема».

Soft Errors?

«Soft errors» это одна из проблем, но есть и другие проблемы, о которых производители аппаратуры говорят еще меньше. Согласно исследованиям Университета Торонто, когда память компьютера дает сбой, это гораздо вероятнее вызвано возрастом или ошибками изготовления (это «hard errors»), а не «soft errors», причиной которых является космическое излучение.

В 2007 году группа исследователей получила доступ к дата-центрам Google, где ими была собрана информация о том, как часто специализированные Linux-системы поискового гиганта давали сбои. Было зафиксировано в десятки раз больше сбоев, чем ожидалось. Если предыдущие исследования сообщали о цифрах от 200 до 5000 сбоев на миллиард часов работы, то исследования в Google показали цифры от 25000 до 75000.
Но что еще интереснее, примерно 8% чипов памяти оказались повинны в более чем 90% сбоев.

Более пристальный взгляд показал, что сбои имеют тенденцию происходить на более старых представителях машинного парка. После примерно 20 месяцев эксплуатации число сбоев стремительно растет. Вероятно, не случайно типовое обновление IT инфраструктуры происходит в районе трехлетней отметки. И, вероятно, результаты этих исследований окажутся еще одним аргументом в пользу того, что откладывание плановых апгрейдов вскоре начнет обходиться дороже, чем сэкономленные средства.

Таким образом, обнаруженные проблемы оказались «hard errors», а не «soft errors», и их было гораздо больше, чем по самым смелым прогнозам.
Последующие исследования показали аналогичную картину для чипов памяти, используемых IBM в системах Blue Gene и для канадского суперкомпьютера SciNet. Для всех систем частота сбоев памяти оказалась примерно одинаковой.

Исследования, проводимые AMD, также показали, что для чипов DRAM «hard errors» встречаются гораздо чаще, чем «soft errors». Но AMD, как и Intel, никогда не публиковала исследований, касающихся частоты сбоев SRAM памяти, используемой в микропроцессорах
Вилас Сридаран (Vilas Sridharan), reliability architect из AMD и один из авторов статей на данную тему сказал:

«Это не новая проблема. Ошибки в модулях DRAM были впервые замечены в 1979 году, но с тех пор мы продолжаем учиться»

«нет никакой детальной информации, которую они могли бы сообщить на этот счет».

Производителям микросхем следует уделять больше внимания вопросам «hard errors». Сегодня существует множество способов для исправления «soft errors»: начиная от кодов коррекции ошибок (ECC) и заканчивая использованием освинцованных шахт для размещения серверов. Но в деле противостояния «hard errors» всё далеко не так хорошо.
При этом «hard errors» вызывают больше ошибок, чем большинство людей могут предположить. И если Hi-end суперкомпьютеры и сервера могут использовать ECC, то в случае с PC это не так. Большинство мобильных устройств, а также ноутбуков и настольных компьютеров ECC не содержат. Отчасти потому, что, согласно используемой модели сбоев, большинство из них вызвано «soft errors». Такая модель выгодна производителям. А пользователи вносят свою лепту, голосуя «рублем». Если вам доводилось выбирать модули памяти для домашнего (да и не только домашнего) компьютера, рассматривали ли вы наличие ECC как важной детали?

А между тем, наличие ECC даже более важно, чем казалось ранее: в нем часто сокрыта разница между устранимой ошибкой и катастрофической, приводящей к вынужденному простою. Неудивительно, что создатели датацентров и суперкомпьютеров настаивают на нем.
Кстати, похожая ситуация наблюдается и для SSD. Выбирая между моделями на 240Gb и 256Gb, при равной цене большинство выберет второй. При этом, то, что в действительности ёмкость одинакова, но первая модель резервирует 16Gb для исправления ошибок заметят единицы, и уж совсем для немногих это повлияет на выбор в пользу первого. Не буду называть конкретные модели и вендоров – это не так существенно.

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

Ну и напоследок тематический демотиватор :):

Coppermine Photo Gallery v1.5.x: Documentation and Manual

As with all applications, you may encounter various error messages if something goes wrong with the script or if you (or your users) have made a mistake handling the application.

Error types

Soft Errors

Soft errors usually happen if you (or the end user) will make a handling mistake. Coppermine will display an error message, but you can continue to browse the gallery. The soft errors are fully localized (i.e. they will be displayed in the language the user has chosen), so the programmers of Coppermine have (more or less) anticipated that such an error may happen under certain circumstances.

If you get a soft error and you’re not sure what to do (maybe because the error message doesn’t mean much to you), read up the corresponding section of this documentation and search the support board, as it is very likely that someone else has had the same issue you had.

In some sections of the documentation there are trouble shooting tipps that you should read up first if you get an error message, for example when you have issues with uploads or bridging.

Hard Errors

Hard errors are messages that won’t go away, usually because something is broken and needs fixing. This is usually the case if something is wrong with the database. As a result, you will see the dreaded “Fatal Error” message that usually doesn’t mean much to unexperienced users.

If you obtain a hard error, you should act immediately and fix the error message asap .

Hard errors usually indicate that something is wrong which the programmers of coppermine could not foresee, that’s why only a generic error message is being displayed. Read on to find out what you need to do.

Unhandled Errors

Unhandled errors are the ones that usually are most tricky to solve, as they make the application coppermine crash in mid-air, without a meaningfull error message that could tell users what is wrong. This is usually the case if you get a blank page or just a template error.

Читайте также:  Как исправить ошибку physxcudart_20.dll

Fatal error

The message “Fatal Error” is a generic error message that just says that there is something wrong. It usually is a hard error – you won’t be able to continue using coppermine unless you fix the reason for the error message. The reasons for such a generic error message are manifold. For security reasons (to make sure that a possible malevolent attacker of the site could not abuse potential vulnerabilities), the “real” error message is not being displayed by default, but only the generic “Fatal Error” message. For you as coppermine admin it’s mandatory to find out what actually is wrong. To do so, you need to enable debug_mode in Coppermine’s config, as this will result in the “real” error message being displayed.

Enabling debug_mode in Config

To enable debug_mode, go to coppermine’s config and enable debug_mode there by expanding the section “Miscellaneous settings”, scroll to the bottom of the screen and select “Enable debug mode” there. Leave “Notices display” turned off.

In some cases, you might not be able to access the config page any longer to enable debug_mode as suggested in this section, so you will have to enable debug_mode manually. Refer to the next section to find out how this is being done.

Manually enabling debug_mode

If you need to enable debug_mode, but can no longer access the config screen (maybe because of the fatal error that stops the config page from displaying or maybe because your admin login doesn’t work as expected no longer), you can enable debug_mode manually as well.

To accomplish this, you will need a third-party tool like phpMyAdmin to directly manipulate your database. Many webhosts provide phpMyAdmin or a similar tool in their webcontrol panel. You may want to take a look there or ask your webhost if they provide it to you for free. If they don’t, you should install that application, as it is helpful not only for troubleshooting coppermine, but all kinds of database administration purposes. Be aware though that this tool is very powerfull and directly manipulates the database and can therefore delete or otherwise damage your database if not used properly. Among other things, phpMyAdmin can be used to back up your database as well. Please refer to the phpMyAdmin documentation on all questions related to the install, setup and use of phpMyAdmin – the coppermine support board definitely is not the right place to ask questions how to set up phpMyAdmin.

This being said, let’s assume that you already have phpMyAdmin available or that you have successfully installed it right now. To actually enable debug mode manually, follow these steps:

  • Point your browser to the folder phpMyAdmin resides in on your server (e.g. http://example.com/phpMyAdmin/)
  • Depending on the security mechanisms that you have set up during phpMyAdmin’s initial configuration, you may have to authenticate your access. This authentication is very important to make sure that no unauthorized access to phpMyAdmin takes place; as suggested before, a malevolent user could ruin your entire site if he got access to a database manipulation tool like phpMyAdmin.
  • If you have more than one database available, choose it at the top of the left frame. If you have only one database, all tables that reside in your database will instantly be visible in the left frame
  • Click in the left frame on the database table that contains coppermine’s configuration. The name of the table is “cpg15x_config” or similar (depending on the table prefix you chose during installation).
  • In the main frame of phpMyAdmin (the most right one), click on the tab “Browse” at the very top
  • The individual entries of the table should be displayed. Scroll down to see the line “debug_mode”. As phpMyAdmin usually only displays a particular number of rows per page, you might have to continue to the second or third page of entries, using the navigation at the top or bottom of the screen
  • Once you have found the row labelled “debug_mode”, click on the edit icon (the pencil icon) in that row.
  • On the edit screen, change the value from “0” (which means “Don’t display debug_mode”) to “1” (which means “Display debug_mode for everyone”) and then save your changes by clicking on the “Go” button.
  • You can now leave phpMyAdmin and return to your coppermine screen – debug_mode should be enabled
  • With debug_mode enabled, reproduce the error message: this time, you should not only get the generic “Fatal error”-message, but an explanation as well what actually went wrong.

Now you can use the actual error message that indicates what is wrong to troubleshoot – fix the error if you can. If you can’t fix it by yourself, search the coppermine support board for the error message (the generic part, not the specific part that only applies to your database/site). It is very likely that someone else used to have the same issues you experience – heed the advice given on the thread that describes your error message.

Once you’re done and the error message has gone away, don’t forget to turn debug_mode off again. If your gallery is fully operational again (it should be after having fixed the error), you can go to coppermine’s config and turn debug_mode off. If you can’t access coppermine’s config (maybe because you have forgotten your admin account details), use the same method described above to turn debug_mode off manually (using phpMyAdmin): browse coppermine’s config table, search for “debug_mode”, edit that entry and change ” 1” back to ” 0“.

Turning debug_mode off

The debug_mode output itself is not an error message. Just the debug_output being there without an actual error message showing through the debug_output doesn’t mean that there is something wrong: by default, debug_mode is off. If you don’t have any particular problems with your gallery and there are no actual errors to fix, turn debug_mode off in config or manually, just the same way you turned it on in the first place.

Common error messages

There are some error messages that are often being encountered. Although they are more or less self-explanatory, some users appear not to be able to make heads or tails out of them, so here is an incomplete list with suggested fixes.

Database-related error messages

Error messagePossible causeSuggested fix
Can’t create/write to file ‘/tmp/#sql_45d5_0.MYI’MySQL can’t create a temporary file for the result set in the given temporary directory.Alter the tmpdir variable to point to a writable directory. It requires changing the tmpdir line in the my.cnf file, usually in the [mysqld] section (tmpdir = /writable/dir, where /writable/dir is a directory to which you can write).
Ask your webhost to make the above changes, as only the administrator of the server where the mySQL database runs on can perform this operation.
Can’t open file: ‘yourPrefix_tableName.MYI’Your database table is corrupted.This is not a coppermine issue, but a mySQL issue. It just may affect a database table used by Coppermine.
Use your website’s Control Panel to repair the table, or use phpMyAdmin to execute this sql query: REPAIR TABLE yourPrefix_tableName
(Replace yourPrefix_tableName with your table name, e.g. cpg145_pictures)
If you don’t understand the solution, ask your webhost to make the above changes.
Got error 28 from storage engineNo space left on device, i.e. the hard disk where your database resides on is full.This is not a coppermine issue, but a mySQL issue. Contact your webhost or the person who is in charge of running the server where your database resides. Tell that person about the error message you get – he/she should know what to do. Basically, you have to free up some space or clean the database. Please note that you can not do this on your own when webhosted – only the server operator can perform this action.
Table ‘yourPrefix_tableName’ is marked as crashed and should be repairedYour database table is corrupted.This is not a coppermine issue, but a mySQL issue. It just may affect a database table used by Coppermine.
Use your website’s Control Panel to repair the table, or use phpMyAdmin to execute this sql query: REPAIR TABLE yourPrefix_tableName
(Replace yourPrefix_tableName with your table name, e.g. cpg145_pictures)
If you don’t understand the solution, ask your webhost to make the above changes. If this happens frequently, there is something fishy with your webserver – ask your webhost for support as well.

Common PHP errors

There are a lot of people (especially PHP newbies) that post questions like I get the error “Parse error: parse error in XXX” and don’t know what to do about it. That’s why I translated this list of common errors (and a solution how to fix them) from the original german article in Dr. Web

Error messagePossible causeSuggested fix
Parse error: parse error in C:Apachehtdocsread.php on line 8This error message refers to an error in the PHP syntax.You probably forgot to end a line with ; or you have too many brackets opened or closed ( <).
Fatal error: Call to unsupported/undefined function . in C:Apachehtdocsread.php on line 8This error means that the function your script was going to use isn’t defined in the current PHP version with modules, or if you’re using user-defined functions that your function hasn’t been defined yet.This is usually caused if you forgot to include the function definition.
Warning: Wrong parameter . for . in C:Apachehtdocsread.php on line 8You have handed over too many (or the wrong) parameters to the function.If it’s a built-in php-function, check the manual; to see if it’s a user-defined function, then recheck your code.
Warning: Cannot add header information – header was already sent . in C:Apachehtdocsread.php on line 4You had some text output first (e.g. the doctype declaration or ) and called the function header() afterwards.This is most often the case when using cookie stuff. Remember you can not use header() twice!
Parse error: parser stack overflow in C:Apachehtdocsread.phpPHP is out of memory.This usually happens if you built an eternal loop, especially when using include statements.
Warning: fopen(“file.txt”,”r+”) – No such file or directoryThe requested file or directory doesn’t exist.Check the spelling (accuracy counts here).
SAFE MODE Restriction in effect. The script whose uid is XXX is not allowed to access. The safe mode is switched on. Some functions in the upload systems can’t be used.Usually your webhost has put safe mode in place (often not correctly configured). Try switching silly_safe_mode on.
Funny characters like  shine through the output on some or all pagesA Byte Order Mark (BOM) has crept into one of your coppermine filesThis usually happens if you edit unicode-encoded files (which is what coppermine’s core files are) with an editor that is not designed to be used to edit Unicode files. Most notoriously notepad.exe (which comes with Microsoft’s Windows). The BOM might shine through on the page that you have manually edited, but it may show as well on pages that you’re not aware of. Undo your edit if you can and use an editor that can handle utf-8 encoding (for a list of editors, refer to Tools recommended by the devs → Text editors). If you can’t remember what you have edited, search for the BOM in all of your files. Emurasoft’s application Replace in files is a good tool to accomplish this on Windows-driven machines.

Upload-related error messages

There is an entire sub-section dedicated to upload-related error messages on the upload troubleshooting page.

Webserver response codes

Please understand that this section of the docs goes unsupported on the Coppermine support board – if you need more details on the webserver response codes, read up the excellent apache documentation or the Wikipedia list of HTTP status codes.

Ссылка на основную публикацию