architecture partitioning scaling