An integrated, programming model-driven framework for NoC–QoS support in cluster-based embedded many-cores