Global Tag Network Программное обеспечение для приложений и периферии

Технологии Raima

Паралеллизм

 

High Throughput via Paralleism

Высокая пропускная способность за счет параллелизма

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

Здесь предлагается архитектура аппаратно-программной конфигурации для обеспечения максимального параллелизма при использовании движка базы данных RDM.

Аппаратное обеспечение

Рекомендуемая архитектура содержит отдельный дисковый контроллер для каждого дискового накопителя. Почему? Потому что даже при нескольких ядрах процессора, выполняющих несколько независимых процессов над разными дисковыми файлами, один дисковый контроллер будет в конечном итоге сериализовать доступ к диску, создавая узкое место. Поэтому компьютер является многоядерным, с 2 ядрами на каждый дисковый контроллер/диск. В нашем примере 8 ядер с 4 контроллерами/дисками.

Программное обеспечение

Учитывая эту аппаратную конфигурацию, необходимо разработать программное обеспечение для параллельной работы. Необходимым компонентом для параллельной работы программного обеспечения является база данных, разбитая на разделы таким образом, что каждый раздел может обновляться независимо от других разделов.

Приложения на рисунке выше открывают 4 различные базы данных в рамках 4 различных структур «задач», а затем на основе первичного ключа решают, к какой базе данных относится та или иная запись. Оно либо найдет ее там, либо создаст ее там. Чтение происходит по-другому. В рамках одной структуры «задачи» все 4 базы данных должны быть открыты одним вызовом с использованием функции объединения баз данных, а чтение должно выполняться без блокировок с использованием MVCC (Multi-Version Concurrency Control) транзакций «только чтение».

 

Обратите также внимание, что ядра процессора изображены так, как будто они назначены процессам приложения, но на самом деле они обычно работают как SMP, поэтому они будут запланированы для выполнения тех процессов, которые доступны. В данном случае это потенциально будут все 4 TFS и до 4 прикладных процессов.

 

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