数据流(dataflow)编程是针对当前大规模密集型计算领域和多核处理器体系结构的特点而设计的一种新的编程模型。它最早作为一种被叫做同步数据流(synchronous dataflow, SDF)的计算模型而被提出。同步数据流是数据流的一种特例,它是在计算机学科的并行计算领域流行的一种硬件与软件相结合的方法学。数据流编程是一种解决多核处理器的效率利用问题的高性能并行编程模型。数据流编程与传统编程语言有着明显区别,它通过数据驱动的方式执行,将需要处理的数据分配到各个核上,将数据的计算与通信相分离,通过任务调度与分配,利用软件流水的并行特性来充分的挖掘流程序中潜在的并行性,使各个核之间负载均衡。在数据流范例中,一个数据流程序的静态实例会按照它的结构被描述成一张有向图。图中节点表示计算单元,边代表数据传输路径。相邻节点间通过边传输数据,节点消耗数据进行计算,并将产生的数据输出到输入输出序列作为下一个计算单元的输入。