The present invention is directed to a method and computer program product for offloading specific processing tasks that would otherwise be performed in a computer system's processor and memory, to a peripheral device, or devices, that are connected to the computer. The computing task is then performed by the peripheral, thereby saving computer system resources for other computing tasks and increasing the overall computing efficiency of the computer system. In one preferred embodiment, the disclosed method is utilized in a layered network model, wherein computing tasks that are typically performed in network applications are instead offloaded to the network interface card (NIC) peripheral. An application executing on the computer system first queries the processing, or task offload capabilities of the NIC, and then selectively enables those capabilities that may be subsequently needed by the application. The specific processing capabilities of a NIC are made available by creating a task offload buffer data structure, which contains data indicative of the processing capabilities of the corresponding NIC. Once an application has discerned the capabilities of a particular NIC, it will selectively utilize any of the enabled task offload capabilities of the NIC by appending packet extension data to the network data packet that is forwarded to the NIC. The device driver of the NIC will review the data contained in the packet extension, and then cause the NIC to perform the specified operating task(s). This offloading of computing tasks on a per-packet basis allows an application to selectively offload tasks on a dynamic, as-needed basis. As such, applications executing on the computer system processor are able to offload tasks in instances where it is busy processing other computing tasks and processor overhead is high. Multiple tasks can also be offloaded in batches to a particular peripheral.

La presente invenzione è diretta verso un prodotto di programma destinato all'elaboratore e di metodo per scaricare le mansioni d'elaborazione specifiche che sarebbero effettuate al contrario in un processor e nella memoria del sistema di elaborazione, ad un dispositivo periferico, o ai dispositivi, che sono collegati al calcolatore. L'operazione di calcolo allora è effettuata dall'unità periferica, quindi conservante le risorse del sistema di elaborazione per altre mansioni di calcolo ed aumentante l'efficienza di computazione generale del sistema di elaborazione. In uno ha preferito l'incorporamento, il metodo rilevato è utilizzato in un modello fatto uno strato di della rete, in cui le mansioni di calcolo che sono effettuate tipicamente nelle applicazioni della rete preferibilmente sono scaricate all'unità periferica della scheda di interfaccia della rete (NIC). Un'applicazione che esegue sul sistema di elaborazione in primo luogo interroga l'elaborazione, o l'operazione scarica le possibilità del NIC ed allora selettivamente permette quelle possibilità che possono successivamente essere necessarie dall'applicazione. Le possibilità di elaborazione specifiche di un NIC sono rese disponibili generando un'operazione scaricano la struttura di dati dell'amplificatore, che contiene i dati indicativi delle possibilità di elaborazione del NIC corrispondente. Una volta che un'applicazione ha discernuto le possibilità di un NIC particolare, utilizzerà selettivamente c'è ne dell'operazione permessa scarica le possibilità del NIC collegando i dati di estensione del pacchetto al pacchetto di dati della rete che è spedito al NIC. Il driver di dispositivo del NIC rivedrà i dati contenuti nell'estensione del pacchetto ed allora induce il NIC ad effettuare il task(s) di funzionamento specificato. Questo scaricare delle mansioni di calcolo su una base del per-pacchetto permette che un'applicazione scarichi selettivamente le mansioni su una base dinamica e come-necessaria. Come tali, le applicazioni che eseguono sul processor del sistema di elaborazione possono scaricare le mansioni nei casi dove è occupato da procedere altre mansioni di calcolo e spese generali del processor è alto. Le mansioni multiple possono anche essere scaricate nei batch ad un'unità periferica particolare.

 
Web www.patentalert.com

< (none)

< Method and apparatus that enforces a regional memory model in hierarchical memory systems

> Web-based status/issue tracking system based on parameterized definition

> (none)

~ 00032