In this paper, we show that both software and hardware must be organized around a hierarchy of communications to perform well on todays multiprocessor machines. We classify data into three cat- egories: the sedentary ones, the nomadic ones and the migrating ones.We show that the applications and the chips they are run on should concen- trate on communications involving mainly sedentary and nomadic data, avoiding as much as possible to use migrations. Eventually, we present TiPi2, an on-chip multiprocessor particularly designed to this purpose.