Added runtime checks on nonzero local storage size

Assertions fail if local storage is of zero size - i.e. thread receives
zero blocks in the chosen distribution, indicative of poor load balance.