Управление параллелизмом с низкими накладными расходами

       

Блокирование


Начнем с анализа схемы блокирования. Пусть однораздельная транзакция выполняется в одном разделе tsp секунд, а многораздельная транзакция – tmp секунд в обоих разделах, включая время, требующееся на двухфазную фиксацию. Если выполняется всего N транзакций, то имеется N × f многораздельных транзакций и 1/2 × N × (1-f) однораздельных транзакций. Сомножитель 1/2 появляется из-за того, что однораздельные транзакции поровну распределены между двумя разделами. Поэтому время, требуемое для выполнения всех транзакций, и пропускная способность системы выражаются следующими формулами:

время = N × f × tmp + ((N × (1-f)) / 2) × tsp

пропускная способность = N / время = 2 / (2 × f × tmp + (1-f) × tsp)

Фактически, время выполнения N транзакций является взвешенным средним между временем выполнения рабочей нагрузки из только однораздельных транзакций и временем выполнения рабочей нагрузки из только многораздельных транзакций. При возрастании f пропускная способность будет уменьшаться от 2 / tsp до 1 / tmp. Поскольку tmp > tsp, пропускная способность будет быстро падать даже при небольшой доли многораздельных транзакций.



Содержание раздела