It have sense to never user clear unsigned types in loops in your program to avoid overflow situation. But if you need big numbers range from unsigned types, you can use wrappers like SafeInt. Good article how to use it you can find here.
Here i would like to show an example of the application where you can see that data aligned to the boundaries of cache line size is accessed much more faster then unaligned:
After the reading articles about future results and active objects I have implemented a class which realize these concepts, asthreading library i used TBB. Here is a code: