With block-range parallelism, the client session that issued the SQL statement transparently
becomes the parallel execution coordinator, dynamically determining block
ranges and assigning them to a set of parallel execution (PE) processes. Once a PE
process has completed an assigned block range, it returns to the coordinator for
more work. Not all I/O occurs at the same rate, so some PE processes may process
more blocks than others. This notion of ???stealing work??? allows all processes to participate
fully in the task, providing maximum leverage of the machine resources.
Block-range parallelism scales linearly based on the number of PE processes, provided
you have adequate hardware resources. The key to achieving scalability with
parallelism lies in hardware basics. Each PE process runs on a CPU and requests I/O
to a device. If you have enough CPUs reading enough disks, parallelism will scale. If
the system encounters a bottleneck on one of these resources, scalability will suffer.
Oracle and Parallelism | 171
For example, four CPUs reading two disks will not scale much beyond the two-way
scalability of the disks and may even sink below this level if the additional CPUs
cause contention for the disks.
Pages:
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382