1.一种面向众核处理器的并发通信方法,其特征在于,所述方法包括:基于众核处理器的高性能计算机系统中多个进程并发通信时,由发送端进程确定用于数据发送的第一虚拟端口;所述第一虚拟端口在主存中分配有专用的报文发送缓冲区;所述第一虚拟端口对应的网卡芯片中设置了所述报文发送缓冲区的报文预发送计数器和报文发送缓冲区读指针;由发送端进程通过锁机制获取所述报文发送缓冲区的访问权限后,将要发送的数据封装为传输层报文写入所述报文发送缓冲区,并根据写入的报文数量更新所述报文预发送计数器的值,释放所述报文发送缓冲区的锁;由网卡芯片通过检测所述报文预发送计数器的值,根据所述报文发送缓冲区读指针启动传输层报文读取过程;由接收端进程确定用于数据接收的第二虚拟端口;所述第二虚拟端口在主存中分配有专用的报文接收缓冲区;所述第二虚拟端口对应的网卡芯片中设置了所述报文接收缓冲区的报文预接收计数器和报文接收缓冲区写指针;由网卡芯片将接收到的数据以所述传输层报文的字节大小为单位,根据所述报文接收缓冲区写指针写入所述报文接收缓冲区,并由硬件修改所述报文预接收计数器的值;由所述接收端进程通过轮询所述报文预接收计数器获取所述报文接收缓冲区报文到达的信息,从所述报文接收缓冲区中读取数据,释放所述报文接收缓冲区的锁。
2.根据权利要求1所述的方法,其特征在于,所述第一虚拟端口对应的网卡芯片中还设置了所述报文发送缓冲区的信用值,在将要发送的数据封装为传输层报文写入所述报文发送缓冲区之前,还包括:通过检查所述报文发送缓冲区的信用值判断所述报文发送缓冲区中是否还有存储空间,若没有,则返回错误信息。
3.根据权利要求1所述的方法,其特征在于,将要发送的数据封装为传输层报文写入所述报文发送缓冲区,包括:将要发送的数据切分成传输层报文中的数据载荷;所述数据载荷大小为112字节;将所述数据载荷封装为传输层报文写入所述报文发送缓冲区;所述传输层报文为128字节,包括112字节的数据载荷、8字节报文头和8字节报文尾。
4.根据权利要求1所述的方法,其特征在于,所述将要发送的数据封装为传输层报文写入所述报文发送缓冲区,还包括:通过所述发送端进程访问所述报文发送缓冲区的写指针;所述报文发送缓冲区写指针指向所述报文发送缓冲区队列队首;在所述报文发送缓冲区队列队首写入所述传输层报文。
5.根据权利要求1所述的方法,其特征在于,所述第一虚拟端口对应的网卡芯片中还设置了硬件动态共享缓冲区,由网卡芯片通过检测所述报文预发送计数器的值,根据所述报文发送缓冲区读指针启动传输层报文读取过程时,还包括:在多个发送端进程向各自虚拟端口的报文发送缓冲区中写入数据时,所述报文发送缓冲区中的数据将从主存写入所述硬件动态共享缓冲区中。
6.根据权利要求1所述的方法,其特征在于,从所述报文接收缓冲区中读取数据,包括:通过所述接收端进程通过所述报文接收缓冲区的读指针访问所述报文接收缓冲区队列队尾,读取所述报文接收缓冲区队尾的数据。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述报文发送缓冲区的大小由分别配置的基地址和上界地址确定,大小可变,但最大不超过8M字节;所述报文发送缓冲区的所述基地址和所述上界地址存储在所述网卡芯片中;所述报文接收缓冲区的大小由分别配置的基地址和上界地址确定,大小可变,但最大不超过8M字节;所述报文接收缓冲区的所述基地址和所述上界地址存储在所述网卡芯片中。
8.一种面向众核处理器的并发通信装置,其特征在于,所述装置包括:第一虚拟端口确定模块,用于基于众核处理器的高性能计算机系统中多个进程并发通信时,由发送端进程确定用于数据发送的第一虚拟端口;所述第一虚拟端口在主存中分配有专用的报文发送缓冲区;所述第一虚拟端口对应的网卡芯片中设置了所述报文发送缓冲区的报文预发送计数器和报文发送缓冲区读指针;数据发送模块,用于由发送端进程通过锁机制获取所述报文发送缓冲区的访问权限后,将要发送的数据封装为传输层报文写入所述报文发送缓冲区,并根据写入的报文数量更新所述报文预发送计数器的值,释放所述报文发送缓冲区的锁;网卡读取模块,用于由网卡芯片通过检测所述报文预发送计数器的值,根据所述报文发送缓冲区读指针启动传输层报文读取过程;第二虚拟端口确定模块,用于由接收端进程确定用于数据接收的第二虚拟端口;所述第二虚拟端口在主存中分配有专用的报文接收缓冲区;所述第二虚拟端口对应的网卡芯片中设置了所述报文接收缓冲区的报文预接收计数器和报文接收缓冲区写指针;网卡写入模块,用于由网卡芯片将接收到的数据以所述传输层报文的字节大小为单位,根据所述报文接收缓冲区写指针写入所述报文接收缓冲区,并由硬件修改所述报文预接收计数器的值;数据接收模块,用于由所述接收端进程通过轮询所述报文预接收计数器获取所述报文接收缓冲区报文到达的信息,从所述报文接收缓冲区中读取数据,释放所述报文接收缓冲区的锁。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。