我正在研究用于在C++中创建应用程序以在不同内核中同时处理多个输入的体系结构。每个输入同时在一个内核中处理。核心上的每个进程都将通过相同的过滤器进行处理。例如:filter1.apply(),filter2.apply()和filter3.apply()。下面是4个内核的流程图,如下所示:哪种架构或设计模式适合这种应用?
[core 1] [core 2] [core 3] [core 4] | | | | V V V V input1 input2 input3 input4 | | | | V V V V filter1 filter1 filter1 filter1 | | | | V V V V filter2 filter2 filter2 filter2 | | | | V V V V filter3 filter3 filter3 filter3 | | | | V V V V output1 output2 output3 output4
我不知道哪种架构或设计模式适合于此。如果您给我一些文物(文档或示例应用程序)以进一步阅读,那将是非常棒的。
在此先感谢。
@Joachim:感谢您的刊物。实际上,我也做得更好:) – olidev 2012-01-02 13:11:16
正如一个侧面说明,它看起来像是如果你能以某种方式将过滤器序列编译成单个过滤器,那么这可能是一个净赢,因为你总是在做同样的顺序的东西 - 有点像OpenGL中的显示列表。 – 2012-01-02 13:15:14
在单个过滤器中编译过滤器并不好,因为函数的作用域(行数)非常大。我希望这种架构在未来能够更灵活地添加新的过滤器。例如:过滤器4和过滤器5添加,然后我只是简单地调用:filter1.apply(),filter2.apply(),filter3.apply(),filter4.apply()和filter5.apply()。 – olidev 2012-01-02 13:18:09