ES2620322T3 - Programador de entrada/salida de lectura estrangulada - Google Patents

Programador de entrada/salida de lectura estrangulada Download PDF

Info

Publication number
ES2620322T3
ES2620322T3 ES13763455.6T ES13763455T ES2620322T3 ES 2620322 T3 ES2620322 T3 ES 2620322T3 ES 13763455 T ES13763455 T ES 13763455T ES 2620322 T3 ES2620322 T3 ES 2620322T3
Authority
ES
Spain
Prior art keywords
read
requests
data
write
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13763455.6T
Other languages
English (en)
Inventor
Alexander Kramnik
Nicolaus P. Malnick MALNICK
Lyle Hayhurst
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Drw Tech LLC
DRW TECHNOLOGIES LLC
Original Assignee
Drw Tech LLC
DRW TECHNOLOGIES LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Drw Tech LLC, DRW TECHNOLOGIES LLC filed Critical Drw Tech LLC
Application granted granted Critical
Publication of ES2620322T3 publication Critical patent/ES2620322T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

Uno o más dispositivos informáticos (101) que están configurados para leer y escribir datos en memoria, comprendiendo los uno o más dispositivos informáticos (101): un programador de entrada/salida con estrangulación de lectura (113) que está configurado para tomar solicitudes de escritura para los datos capturados de una red (109), para proporcionar estos datos a un sistema (105) que da persistencia a los datos capturados, y para tomar solicitudes de lectura procedentes de sistemas de usuario externos; el programador de entrada/salida con estrangulación de lectura (113) está configurado adicionalmente para determinar una tasa de captura al mantener dos ventanas deslizantes a lo largo de solicitudes de escritura previas, siendo la segunda ventana más larga que la primera; el programador de entrada/salida con estrangulación de lectura (113) configurado adicionalmente de tal modo que: cuando la actividad de solicitudes de escritura supera un umbral según se determina a lo largo de la primera ventana, el programador de entrada/salida con estrangulación de lectura (113) deja de atender solicitudes de lectura; y cuando la actividad de solicitudes de lectura y de escritura cae por debajo del umbral según se computa a lo largo de la segunda ventana, el programador de entrada/salida con estrangulación de lectura (113) reanuda la atención a solicitudes de lectura un medio de almacenamiento (105) en el cual se reenvían las solicitudes de lectura y de escritura.

Description

5
10
15
20
25
30
35
40
45
50
DESCRIPCION
Programador de entrada/salida de lectura estrangulada Campo de la invencion
La presente invencion se refiere al procesamiento electronico de datos.
Antecedentes de la invencion
Con la proliferacion de la potencia de procesamiento y del ancho de banda de comunicacion electronica, una multitud de fuentes estan generando y transmitiendo una explosion de datos. Estos datos se recopilan y se almacenan para su analisis para una amplia diversidad de aplicaciones. Un area de este tipo en la que los mismos han visto un particular crecimiento explosivo es en la compraventa electronica de productos financieros.
Hubo un tiempo en el que solo habla bolsas con negociacion a viva voz, en los que los corredores y los comerciantes, o, mas en concreto, los compradores y los vendedores, se hubieran reunido para negociar en persona. Mas recientemente, se han introducido unas bolsas electronicas que procesan la equiparacion automatica y electronica de pujas y ofertas. Por lo tanto, los metodos bursatiles han evolucionado de un proceso que requiere mucho trabajo manual a una plataforma electronica posibilitada por la tecnologla.
La compraventa electronica se basa en general en ordenadores (de anfitrion) centralizados, una o mas redes informaticas, y ordenadores (de cliente) participantes en bolsa. En general, la bolsa de anfitrion incluye uno o mas ordenadores centralizados. Las operaciones de la bolsa de anfitrion incluyen, por lo general, equiparar ordenes, mantener posiciones y carteras de ordenes, informacion de cotizaciones, y gestionar y actualizar la base de datos durante el dla bursatil habil as! como ejecuciones por lotes durante la noche. La bolsa de anfitrion tambien esta equipada con interfaces externas que mantienen contacto con proveedores de cotizaciones y otros sistemas de informacion de cotizaciones.
Usando dispositivos de cliente, los participantes en el mercado enlazan con la bolsa de anfitrion a traves de una o mas redes. Una red es un grupo de dos o mas ordenadores o dispositivos enlazados entre si. Hay muchos tipos de redes cableadas e inalambricas, tales como, por ejemplo, redes de area local y redes de area extensa. Las redes tambien se pueden caracterizar por la topologla, el protocolo y la arquitectura. Por ejemplo, algunos participantes en el mercado pueden enlazar con el anfitrion a traves de una conexion directa tal como una Red Digital de Servicios Integrados (ISDN, Integrated Services Digital Network) o T1. Algunos participantes enlazan con la bolsa de anfitrion a traves de conexiones directas y a traves de otros componentes de red comunes tales como servidores de alta velocidad, encaminadores y pasarelas. Existen muchos tipos diferentes de redes y combinaciones de tipos de red que pueden enlazar a los comerciantes con la bolsa de anfitrion. Internet se puede usar para establecer una conexion entre el dispositivo de cliente y la bolsa de anfitrion.
Internet es una red global de ordenadores. Los servidores de red soportan unas capacidades de hipertexto que permiten que Internet enlace webs de documentos entre si. Las interfaces de usuario tales como las Interfaces Graficas de Usuario (GUI, Graphical User Interface) se usan, por lo general, para explorar Internet para recuperar un documento relevante. Los Localizadores Uniformes de Recursos (URL, Uniform Resource Locator) se usan para identificar paginas web y sitios web especlficos en Internet. Los URL tambien identifican la direccion del documento que se va a recuperar de un servidor de red.
Para transmitir la informacion digitalizada de una forma fiable, Internet usa un diseno de conmutacion de paquetes. La conmutacion de paquetes descompone bloques de informacion digitalizada en unos fragmentos mas pequenos que se denominan paquetes. Estos paquetes se transmiten a traves de la red, por lo general por diferentes rutas y, entonces, se vuelven a ensamblar en su destino. Vease, por ejemplo, Len Kleinrock, “Information Flow in Large Communications Nets", RLE Quarterly Progress Report (1960); Len Kleinrock, Communication Nets (1964). Vease tambien Paul Baren, “On Distributed Communications Networks", IEEE Transactions on Systems (marzo de 1964).
Se hizo referencia a la conmutacion de paquetes original empleada por Internet como Protocolo de Control de Transmision/Protocolo de Internet (TCP/IP, Transmission Control Protocol/Internet Protocol). El Protocolo de Control de Transmision (TCP, Transmission Control Protocol) paquetiza la informacion y vuelve a ensamblar la informacion tras la llegada. El Protocolo de Internet (IP, Internet Protocol) encamina paquetes mediante la encapsulacion de los paquetes entre redes. Vease, por ejemplo, Robert Kahn y Vincent Cerf, “A Protocol for Packet Network Intercommunication”, IEEE Transactions on Communications Technology (mayo de 1974). Existen muchos protocolos adicionales que se usan para retransmitir el trafico de Internet.
La conmutacion de paquetes mas reciente empleada por Internet incluye el Protocolo de Datagramas de Usuario/Protocolo de Internet (UDP/IP, User Datagram Protocol/Internet Protocol). Con frecuencia, las bolsas de
5
10
15
20
25
30
35
40
45
50
55
anfitrion transmiten informacion acerca del mercado bursatil a dispositivos de cliente que usan el protocolo UDP/IP. UDP/IP usa un modelo de transmision simple sin dialogos de toma de contacto implicitos para proporcionar fiabilidad, ordenacion o integridad de datos. El UDP proporciona un servicio poco fiable y los datagramas pueden llegar desordenados, mostrarse duplicados o extraviarse sin previo aviso; por lo tanto, el UDP asume que la comprobacion y la correccion de errores o bien no es necesaria o bien se realiza en la aplicacion, lo que evita la tara de tal procesamiento al nivel de interfaz de red. Las aplicaciones temporalmente sensibles usan con frecuencia el UDP debido a que descartar paquetes es preferible a aguardar paquetes retardados, lo que puede que no sea una opcion en un sistema en tiempo real. Existen muchos otros protocolos de comunicacion TCP/IP y UDP/TP que se pueden usar para transmitir o recibir datos a lo largo de una red.
TCP/IP y UDP/IP son ejemplos de los protocolos de comunicacion que se pueden clasificar por medio del modelo de Interconexion de Sistemas Abiertos (OSI, Open Systems Interconnection). El modelo de OSI es una prescripcion de caracterizar y normalizar las funciones de un sistema de comunicacion en terminos de capas. Funciones de comunicacion similares se agrupan en capas logicas, con una capa atendiendo a la capa por encima de la misma, y siendo atendida por la capa por debajo de ella. La capa mas baja del modelo de OSI es la capa fisica, que tambien se conoce como “Capa 1”, y que se abrevia comunmente como “PHY”. La capa fisica define las especificaciones electricas y fisicas entre un dispositivo informatico y un medio de transmision, tal como cable de cobre o de fibra optica. Los ejemplos de capas fisicas incluyen DSL, ISDN, capa fisica de Ethernet (10BASE-T, 10BASE2, 100BASETX, 1000BASE-T, y otras variedades), Infiniband, T1, y similares.
Por encima de la capa fisica se encuentra la capa de enlace de datos, que tambien se conoce como “Capa 2”. La capa de enlace de datos proporciona los medios funcionales y procedimentales para transferir datos entre entidades de red y detectar y corregir los errores que pueden tener lugar en la capa fisica. Los ejemplos de capas de enlace de datos incluyen ARP, ATM, Ethernet, Frame Relay, 802.11, Infiniband, anillo con paso de testigo, y similares. Tanto para TCP/IP como para UDP/IP, la capa de enlace de datos es responsable de la encapsulation de paquetes de IP en tramas, de la sincronizacion de tramas, de la detection y manipulation de errores y del direccionamiento por medio de control de acceso a medios (MAC, media access control), entre otros.
Por encima de la capa de enlace de datos se encuentra la capa de red, que tambien se conoce como 'Capa 3'. Esta capa se ocupa de llevar en la practica los datos de un ordenador a otro, incluso si el ordenador es remoto o se encuentra en una red diferente. Las funciones de la capa de red incluyen comunicacion sin conexion, direccionamiento de anfitrion y reenvio de mensajeria. Los protocolos de capa de red a modo de ejemplo incluyen IPv4 e IPv6, ICMP, IGMP, PiM-SM y PIM-DM, Infiniband, IPX, y similares. Tanto para TCP/IP como para UDP/IP, el Protocolo de Internet, o “IP”, es la implementation de Capa 3 que se usa para encaminar paquetes a traves de una o muchas redes.
Por encima de la capa de red se encuentra la capa de transporte, que tambien se conoce como 'Capa 4'. La capa de transporte proporciona servicios de comunicacion de extremo a extremo tales como soporte de flujo de datos orientado a la conexion, fiabilidad, control de flujo, evitacion de congestion, orientation de bytes y multiplexion. Los ejemplos de capas de transporte incluyen TCP, UDP, RDP, IL, Infiniband, ATP, y similares.
Internet es un ejemplo de una implementacion del modelo de OSI. Existen muchos otros ejemplos de redes, incluyendo redes personales, redes de area local, redes domesticas, redes de area de almacenamiento, redes en universidades, redes medulares, redes de area metropolitana, redes de area extensa, redes privadas virtuales, y similares. El uso, el nivel de confianza y los derechos de acceso difieren entre estos tipos diferentes de redes.
Un subconjunto de problemas de recopilacion de datos se ocupa de los datos que se generan a partir de una diversidad de fuentes y que se transmiten a una tasa muy alta a traves de una red informatica que usa un protocolo de comunicacion tal como, por ejemplo, UDP/IP. Cualquier solution que capture y de persistencia a estos datos para su uso se encuentra sujeta a algunos requisitos basicos. Dar persistencia se refiere a la caracteristica de las configuraciones de la informacion en un programa o maquina que sobrevive al proceso que la creo. Sin persistencia, esta informacion solo existiria en memoria de acceso aleatorio (RAM, random access memory), y se perderia cuando esta RAM se quedara sin alimentation, tal como el apagado de un ordenador. En la practica, la persistencia se logra mediante el almacenamiento de la informacion como datos en un almacenamiento no volatil tal como una unidad de disco duro o una memoria flash.
En primer lugar, los datos a los que se ha dado persistencia han de ser una instantanea uno por uno de la totalidad de los datos que se difundieron a partir de la fuente. Si se transmiten datos, pero no se les da persistencia, esto se conoce como un 'hueco' o un 'descarte'. Muchas categorias de uso se vienen abajo si los datos a los que se ha dado persistencia contienen huecos. Debido a que los datos transmitidos son, por lo general, no repetibles, la solucion de captura de datos ha de garantizar que todos los paquetes transmitidos se capturaran y se les dara persistencia.
En segundo lugar, en unas condiciones de carga de red normales, los usuarios han de ser capaces de acceder a los datos a los que se ha dado persistencia incluso a medida que se estan capturando y se esta dando persistencia a
5
10
15
20
25
30
35
40
45
50
55
nuevos datos transmitidos. La incapacidad a la hora de acceder a los datos a los que se ha dado persistencia perjudicarla a muchos procesos comerciales debido a que los procesos comerciales serlan incapaces de responder a los cambios en las condiciones en su entorno. Por ejemplo, el acto de detectar y de responder a la perdida de paquetes en una red se verla gravemente obstaculizado si el administrador de red fuera incapaz de acceder a los datos de red a los que se ha dado persistencia hasta el final del dla comercial. El acceso por parte del usuario tiene el potencial de interrumpir el proceso de dar persistencia a los datos, debido a que las dos actividades estan, ambas, disputandose el mismo conjunto finito de recursos informaticos. Este potencial se vuelve mas probable a medida que aumenta la carga de trafico de red. A medida que la carga de red aumenta hacia la capacidad de captura y de persistencia, los sistemas existentes permitiran que la tasa de captura se deteriore como resultado de un acceso aumentado por parte del usuario, lo que conduce a huecos de datos.
Los sistemas existentes que intentan solucionar este problema comparten un diseno comun. El enfoque habitual es el uso de un dispositivo de soporte flsico al que se hace referencia como derivacion de red pasiva, que proporciona una forma de acceder a los datos que fluyen a traves de una red informatica. La derivacion de red pasiva duplica un flujo de paquetes y encamina el flujo de paquetes hacia una tarjeta de captura de protocolo de comunicacion de red que esta instalada en un aparato de captura de paquetes. La tarjeta de captura de protocolo de comunicacion de red entrega los paquetes entrantes a un proceso en el sistema, que los da persistencia a en un medio de almacenamiento. La implementacion de sistema habitual usa un ordenador que esta ejecutando un sistema operativo y una unidad de disco magnetico o de tipo flash para el almacenamiento.
Los sistemas existentes gestionan la lectura y escritura de informacion en almacenamiento a traves de un proceso algorltmico sencillo. La lectura hace referencia al acceso por parte del usuario a una informacion almacenada, mientras que escritura se refiere al almacenamiento de la informacion. Un ejemplo es el 'orden clclico', en el que un programador selecciona una lectura y escritura a la que apunta un contador a partir de una lista, despues de lo cual el contador se incrementa y, si se alcanza el extremo, el programador vuelve al principio de la lista. Otro ejemplo es 'primero en entrar - primero en salir', en el que un programador almacena las lecturas y escrituras en una cola, siendo la primera lectura o escritura que se va a anadir a la cola la primera lectura o escritura sobre la que se va a actuar, en el que el procesamiento avanza de forma secuencial en el mismo orden.
La capacidad de las soluciones existentes para cumplir los criterios que se han bosquejado en lo que antecede recae en garantizar una tasa elevada y consistente de dar persistencia a (escribir) los datos entrantes en el medio de almacenamiento en unas condiciones de carga que consisten tanto en persistencia de transmision como en acceso por parte del usuario. Con las cargas habituales que consisten en mezclas de solicitudes de lectura y de escritura, los medios de almacenamiento muestran una alta variabilidad en la latencia de las solicitudes de escritura individuales y un rendimiento total global mas bajo. Para los medios magneticos, esto es debido a la latencia del tiempo de busqueda a medida que los cabezales de lectura - escritura pasan por los cilindros de almacenamiento. Para los medios de tipo flash, esto es lo que se ha denominado el 'efecto banera': altos numeros para las lecturas y escrituras puras, pero unos mucho mas bajos para las cargas de trabajo mixtas.
Esta variabilidad en el rendimiento de escritura eficaz del medio de almacenamiento deteriora la capacidad para mantener un rendimiento de escritura elevado y consistente. Esto, a su vez, crea una contrapresion sobre el resto del sistema. Si esta contrapresion alcanza la tarjeta de captura de protocolo de comunicacion de red, la tarjeta no tiene otra opcion que descartar los paquetes entrantes debido al desbordamiento de almacenamiento intermedio en memoria interna. Esto ocurre debido a que una solucion de captura es de naturaleza pasiva, lo que quiere decir que la presencia de la solucion de captura en la red es desconocida para otros dispositivos de red. Como resultado, el sistema no puede solicitar que se retransmitan paquetes si la tarjeta de captura de protocolo de comunicacion de red no puede mantener el ritmo de la tasa de paquetes.
Las soluciones existentes usan un numero de mecanismos para intentar evitar que esta 'contrapresion' (la acumulacion de datos que tiene lugar cuando las memorias intermedias estan llenas y no pueden recibir mas datos) alcance la tarjeta de captura de protocolo de comunicacion de red. Tales mecanismos usan una region de memoria - o bien en la propia tarjeta, o bien dentro del proceso o bien dentro del sistema operativo (que se conoce como la memoria cache de pagina) - para crear una o mas memorias intermedias entre el protocolo de comunicacion de red, la tarjeta de captura y el medio de almacenamiento. A pesar de que estos mecanismos pueden suavizar la variabilidad en el rendimiento de escritura del medio de almacenamiento, cuando la totalidad de las memorias intermedias se llenan, la contrapresion alcanza de forma inevitable la tarjeta de captura de protocolo de comunicacion de red, lo que la fuerza a descartar los paquetes. Tales mecanismos tambien presentan la desventaja de llevar recursos de memoria lejos del resto del sistema.
El documento US 2012/066449 A1 divulga un sistema y metodo para programar de forma eficaz operaciones de lectura y de escritura entre una pluralidad de dispositivos de almacenamiento de estado solido. Un sistema informatico comprende ordenadores de cliente y agrupaciones de almacenamiento de datos que estan acoplados entre si por medio de una red. Una agrupacion de almacenamiento de datos utiliza unidades de estado solido y celulas de memoria flash para el almacenamiento de datos. Un controlador de almacenamiento dentro de una agrupacion de almacenamiento de datos comprende un programador de E/S. El controlador de almacenamiento esta
configurado para recibir una solicitud de lectura dirigida al medio de almacenamiento de datos, e identificar al menos un primer dispositivo de almacenamiento de la pluralidad de dispositivos de almacenamiento que contiene datos seleccionados como objetivo por la solicitud de lectura. En respuesta o bien a la deteccion o bien a la prediction de que el primer dispositivo de almacenamiento mostrara un rendimiento variable, el controlador esta configurado para 5 generar una solicitud de lectura de reconstruction que esta configurada para obtener los datos a partir de uno o mas dispositivos de la pluralidad de dispositivos de almacenamiento que no sean el primer dispositivo de almacenamiento.
Sumario de la invention
De acuerdo con los principios de la presente invencion, se proporcionan aplicaciones y metodos de programador de 10 entrada/salida de lectura estrangulada. Un programador de entrada/salida con estrangulacion de lectura toma solicitudes de escritura para los datos capturados de una red, proporciona estos datos a un sistema que da persistencia a los datos capturados, y toma solicitudes de lectura procedentes de sistemas de usuario externos. La tasa de solicitudes de lectura y de escritura se determina al mantener dos ventanas deslizantes a lo largo de solicitudes de escritura previas, siendo la segunda ventana mas larga que la primera. El programador de 15 entrada/salida con estrangulacion de lectura esta configurado de tal modo que, cuando la actividad de solicitudes de escritura supera un umbral segun se determina a lo largo de la primera ventana, el programador de entrada/salida con estrangulacion de lectura estrangula el flujo de solicitudes de lectura. Se proporciona un medio de almacenamiento en el cual se reenvlan las solicitudes de lectura y de escritura. Cuando la actividad de solicitudes de lectura y de escritura cae por debajo de un umbral segun se computa a lo largo de la segunda ventana, el 20 programador de entrada/salida con estrangulacion de lectura reanuda la atencion a solicitudes de lectura.
El presente sumario presenta, de forma simplificada, conceptos que se describen adicionalmente en lo sucesivo en la Description detallada. El presente sumario no tiene por objeto identificar caracterlsticas clave o caracterlsticas esenciales de la materia objeto que se reivindica, ni el mismo tiene por objeto su uso como una ayuda en la determination del alcance de la materia objeto que se reivindica.
25 Breve descripcion del dibujo
La figura 1 es un dibujo conceptual que muestra una vision de conjunto de sistema de alto nivel que usa derivaciones de red pasivas.
La figura 2 es un dibujo conceptual que muestra una vision de conjunto de sistema de alto nivel sin usar derivaciones de red pasivas.
30 La figura 3 es una grafica que ilustra lo que le ocurre a las tasas de lectura y de escritura a medida que sube la tasa de captura con un programador habitual de la tecnica anterior.
La figura 4 es una grafica que ilustra lo que le ocurre a las tasas de lectura y de escritura a medida que sube la tasa de captura.
La figura 5 es una grafica que ilustra una ventana de retroceso en un escenario en el que la tasa de datos aumenta 35 con mucha rapidez.
La figura 6 es una grafica que ilustra una ventana de ascenso en un escenario en el que la tasa de captura es bastante plana y se encuentra justo por debajo del umbral, pero presenta algunos picos de tal modo que los valles se encuentran por debajo del umbral y los picos se encuentran justo por encima del umbral.
Descripcion detallada de una realization preferida
40 Con las cargas habituales que consisten en mezclas de solicitudes de lectura y de escritura, los medios de almacenamiento muestran una alta variabilidad en la latencia de las solicitudes de escritura individuales y un rendimiento total global mas bajo. Las soluciones existentes tienen una region de memoria para crear una o mas memorias intermedias entre el protocolo de comunicacion de red, la tarjeta de captura y el medio de almacenamiento. Cuando la totalidad de las memorias intermedias se llenan, no obstante, la contrapresion alcanza 45 de forma inevitable la tarjeta de captura de protocolo de comunicacion de red, lo que la fuerza a descartar los paquetes. Tales mecanismos tambien tienen la desventaja de llevar recursos de memoria lejos del resto del sistema. La presente invencion elimina casi en su totalidad la variabilidad del medio de almacenamiento. Esto, a su vez, reduce la posibilidad de ejercer una contrapresion sobre la tarjeta de captura de protocolo de comunicacion de red y de forzar a la misma a descartar los paquetes.
50 De acuerdo con los principios de la presente invencion, se proporcionan aplicaciones y metodos de programador de entrada/salida de lectura estrangulada. De acuerdo con los principios de la presente invencion, se proporcionan
5
10
15
20
25
30
35
40
45
50
55
aplicaciones y metodos de programador de entrada/salida de lectura estrangulada. Un programador de entrada/salida con estrangulacion de lectura toma solicitudes de escritura para los datos capturados de una red, proporciona estos datos a un sistema que da persistencia a los datos capturados, y toma solicitudes de lectura procedentes de sistemas de usuario externos. La tasa de solicitudes de lectura y de escritura se determina al mantener dos ventanas deslizantes a lo largo de solicitudes de escritura previas, siendo la segunda ventana mas larga que la primera. El programador de entrada/salida con estrangulacion de lectura esta configurado de tal modo que, cuando la actividad de solicitudes de escritura supera un umbral segun se determina a lo largo de la primera ventana, el programador de entrada/salida con estrangulacion de lectura estrangula el flujo de solicitudes de lectura. Se proporciona un medio de almacenamiento en el cual se reenvlan las solicitudes de lectura y de escritura.
Con mas detalle, haciendo referencia a la figura 1 se observa un dibujo conceptual que muestra una vision de conjunto de sistema de alto nivel. Se proporciona un aparato de captura de paquetes 101. El aparato de captura de paquetes 101 puede comprender un ordenador que esta ejecutando un derivado del sistema operativo LINUX®. El sistema operativo informatico LINUX® es un sistema operativo de codigo abierto que se encuentra disponible bajo una licencia al publico general que es administrada por The Linux Foundation, 1796 18th Street, Suite C, San Francisco, California 94107.
Se proporciona al menos una tarjeta de captura de protocolo de comunicacion de red 103 para capturar paquetes. La tarjeta de captura de protocolo de comunicacion de red 103 puede ser la tarjeta DAG® facilitada por Endace USA Limited, 14425 Penrose Place, Suite 225, Chantilly, Virginia 20151. Un medio de almacenamiento 105, tal como, por ejemplo, una unidad de disco magnetico o de tipo flash se proporciona para el almacenamiento, que es posible que este organizada en una configuracion de tipo agrupacion redundante de discos independientes (RAID, redundant array of independent disks) para aumentar la fiabilidad y el rendimiento de referencia base.
Multiples fuentes de datos, que se representan mediante la fuente de datos 107, generan y diseminan datos a lo largo de una red 109, tal como, por ejemplo, Internet. Se proporciona una derivacion de red pasiva 111 para acceder a los datos que fluyen a traves de la red 109. La derivacion de red pasiva 111 puede ser una derivacion de red
Gigamon facilitada por Gigamon, 598 Gibraltar Drive, Milpitas, California 95035. La derivacion de red pasiva 111
duplica un flujo de paquetes y encamina el flujo de paquetes hacia la tarjeta de captura de protocolo de comunicacion de red 103. La tarjeta de captura de protocolo de comunicacion de red 103 entrega los paquetes entrantes a un proceso de escritura 104 en el aparato, el cual los escribe en un medio de almacenamiento 105 por
medio del programador de E/S con estrangulacion de lectura 113. Estos datos se pueden consultar entonces por
medio de un cliente de consulta 115. En paralelo, el trafico de red es consumido por el destinatario original del flujo de paquetes, el destinatario de datos 117.
La presente invencion es pertinente con independencia de como se proporcionan los datos de red transmitidos al programador de entrada/salida con estrangulacion de lectura. Haciendo referencia a la figura 2, se observa un dibujo conceptual que muestra una vision de conjunto de alto nivel sin una derivacion de red pasiva. Se proporciona un aparato de captura de paquetes 120. El aparato de captura de paquetes 120 puede comprender un ordenador que esta ejecutando un derivado del sistema operativo LINUX®. El sistema operativo informatico LINUX® es un sistema operativo de codigo abierto que se encuentra disponible bajo una licencia al publico general que es administrada por The Linux Foundation, 1796 18th Street, Suite C, San Francisco, California 94107.
Se proporciona al menos una tarjeta de captura de protocolo de comunicacion de red 122 para capturar paquetes. La tarjeta de captura de protocolo de comunicacion de red 122 puede ser la tarjeta DAG® facilitada por Endace USA Limited, 14425 Penrose Place, Suite 225, Chantilly, Virginia 20151. Un medio de almacenamiento 122, tal como, por ejemplo, una unidad de disco magnetico o de tipo flash se proporciona para el almacenamiento, que es posible que este organizada en una configuracion de tipo agrupacion redundante de discos independientes (RAID, redundant array of independent disks) para aumentar la fiabilidad y el rendimiento de referencia base.
Multiples fuentes de datos, que se representan mediante la fuente de datos 126, generan y diseminan datos a lo largo de una red 130, tal como, por ejemplo, Internet. La tarjeta de captura de protocolo de comunicacion de red 134 entrega los paquetes entrantes a un proceso de escritura 136 en el aparato, el cual los escribe en un medio de almacenamiento 122 por medio del programador de E/S con estrangulacion de lectura 142. Estos datos se pueden consultar entonces por medio de un cliente de consulta 146.
Haciendo referencia a la figura 3, se observa un diagrama que ilustra lo que le ocurre a las tasas de lectura y de escritura a medida que sube la tasa de captura con un programador habitual de la tecnica anterior. El eje X visualiza la tasa de entrada/salida (E/S) mientras que el eje Y representa el tiempo. Un dispositivo de almacenamiento puede escribir continuamente a su tasa maxima si el dispositivo de almacenamiento esta atendiendo solo solicitudes de escritura. El rendimiento maximo comienza a descender tan pronto como se introducen solicitudes de lectura, con la tasa de descenso aumentando a medida que aumenta la relacion de las solicitudes de lectura con respecto a las solicitudes de escritura. Esta relacion esta directamente correlacionada positivamente con la variabilidad de cualquier solicitud de escritura individual y correlacionada negativamente con el rendimiento de escritura.
5
10
15
20
25
30
35
40
45
50
55
Cuando el rendimiento de escritura cae por debajo de la tasa de captura de datos, el dispositivo de almacenamiento comienza a generar una contrapresion, dando lugar a que se llene cualquier memoria intermedia existente. Si la diferencia entre la tasa de escritura y la tasa de captura es lo bastante alta, las memorias intermedias se llenaran por completo y, por ultimo, la contrapresion alcanzara la tarjeta de captura de protocolo de comunicacion de red, lo que la fuerza a descartar los paquetes. Por conveniencia, se puede hacer referencia, de forma no limitante, a esta diferencia como umbral de estrangulacion. Este umbral de estrangulacion puede ser un nivel estatico y previamente determinado o se puede determinar de una forma dinamica y no previamente determinada.
Haciendo referencia de nuevo a la figura 1, se proporciona un programador de entrada/salida (E/S) con estrangulacion de lectura 113. El programador de E/S con estrangulacion de lectura 113 esta vinculado al umbral de estrangulacion. El programador de E/S con estrangulacion de lectura 113 puede ser un modulo del nucleo del sistema operativo a traves del cual pasan las solicitudes de lectura a partir de un proceso de lectura 115 y las solicitudes de escritura a partir de un proceso de escritura 117 de camino a los medios de almacenamiento 105. El programador de E/S con estrangulacion de lectura 113 es libre de dejar pasar las solicitudes de lectura y de escritura en cualquier orden que desee el programador de E/S con estrangulacion de lectura 113.
Debido a que la volatilidad de las solicitudes de lectura a partir del proceso de lectura 115 y las solicitudes de escritura a partir del proceso de escritura 117 puede ser bastante alta, en particular si el nivel se encuentra en o cerca del umbral. Con el fin de evitar la histeresis, es aconsejable alguna forma de esquema de calculo de promedio. La histeresis es una condicion en la que el programador oscila, de forma no deseable, entre los modos de estrangulacion y de no estrangulacion. En una realizacion, la tasa de captura se supervisa al mantener dos ventanas deslizantes a lo largo de solicitudes de escritura previas, siendo la segunda ventana mas larga que la primera. Por conveniencia, se puede hacer referencia, de forma no limitante, a la primera ventana como ventana de ascenso, mientras que se puede hacer referencia, de forma no limitante, a la segunda ventana como ventana de retroceso.
Para entender la ventana de retroceso, imaglnese una condicion como mercado abierto, en la que la tasa de datos procedente de la bolsa aumenta con mucha rapidez. Esto se observa en la figura 5. A medida que la tasa cruza el umbral, el programador pasa al modo de estrangulacion - poniendo en espera las lecturas. Imaglnese ahora que la tasa desciende momentaneamente antes de continuar subiendo (esta es una tendencia comun en escenarios cerrados y abiertos de mercado). Si ese descenso lleva la tasa por debajo del umbral, el programador saldra del modo de estrangulacion y permitira el paso de lecturas (potencialmente una gran cantidad de lecturas contenidas); no obstante, debido a que las tasas se encuentran aun en una tendencia al alza general y muy rapida, una gran cantidad de lecturas hubieran pasado en medio de las escrituras de tasa elevada, generando riesgo de contrapresion y de descarte de paquetes. La ventana de retroceso soluciona este problema mediante el uso de una medida de historico de la tasa para predecir la tendencia actual, que ignora tales descensos en una tendencia por lo demas al alza. El control del tamano de la ventana permite que el usuario controle como de grande ha de ser un descenso para senalizar una inversion real.
Para ilustrar la ventana de ascenso, imaglnese un escenario en el que la tasa de captura es bastante plana y se encuentra justo por debajo del umbral, pero presenta algunos picos de tal modo que los valles se encuentran por debajo del umbral y los picos se encuentran justo por encima. Esto se observa en la figura 6. En este escenario, el programador entrarla en el modo de estrangulacion en cada pico y saldrla en cada valle. Si la distancia entre picos y valles es lo bastante pequena, la tasa de conmutacion evitarla que tuviera lugar lectura significativa alguna. El uso de una ventana de ascenso permite que el programador diferencie entre las situaciones en las que la tasa simplemente esta oscilando en torno al umbral y en las que la tasa ha roto en la practica el umbral.
La ventana de ascenso es mas pequena que la ventana de retroceso debido a que es necesario que el valor promedio de la tasa de E/S cambie mas rapido cuando se asciende en contraposition al descenso, en donde la tasa promedio de E/S en la ventana deberla reducirse mas lentamente. Es decir, el ascenso deberla estrangular de forma agresiva y el descenso deberla ser mas conservador en hacer que remita la estrangulacion.
Haciendo referencia a la figura 4, se observa un diagrama que ilustra lo que le ocurre a las tasas de lectura y de escritura a medida que sube la tasa de captura utilizando el programador de E/S con estrangulacion de lectura 113. Cuando la tasa de captura tal como se determina a lo largo de las ventanas de ascenso supera el umbral de estrangulacion, el programador de E/S con estrangulacion de lectura 113 deja de atender solicitudes de lectura. Las solicitudes de lectura existentes y entrantes se bloquean durante este periodo. Durante este periodo, los medios de almacenamiento 105 operaran al rendimiento de escritura maximo. Cuando la tasa de captura segun se computa a lo largo de la ventana de retroceso cae por debajo del umbral de captura, el programador de E/S con estrangulacion de lectura 113 sale del modo de estrangulacion y reanuda la atencion a solicitudes de lectura.
Hacer corta la ventana de retroceso permite que el programador de E/S con estrangulacion de lectura 113 entre en el modo de estrangulacion con rapidez si la tasa de captura se dispara con rapidez. De forma similar, hacer mas larga la ventana de retroceso permite que el programador de E/S con estrangulacion de lectura 113 evite casos de histeresis en los que la tasa de captura puede descender por debajo del umbral antes de continuar ascendiendo. Mediante el aumento o la disminucion del umbral de estrangulacion, y las longitudes de las ventanas de ascenso y
5
10
15
20
25
30
de retroceso, se puede dar un ajuste fino al comportamiento exacto del programador de E/S con estrangulacion de lectura 113.
Las tecnicas que se describen en el presente documento no estan inherentemente relacionadas con cualquier soporte flsico particular u otro aparato. En determinados aspectos, las tecnicas que se describen en el presente documento se pueden implementar usando soporte flsico o una combinacion de soporte logico y soporte flsico, o bien en un servidor dedicado, o bien integrado en otra entidad, o bien distribuido a traves de multiples entidades.
Ademas de en soporte flsico, las tecnicas que se describen en el presente documento se pueden implementar usando un codigo que crea un entorno de ejecucion. El codigo puede constituir un soporte logico inalterable de procesador, una pila de protocolos, un sistema de gestion de bases de datos, un sistema operativo, o una combinacion de uno o mas de los mismos que esten almacenados en memoria. La implementacion que se describe en el presente documento no se limita a lenguaje de programacion particular alguno.
A pesar de que la presente memoria descriptiva contiene muchos detalles especlficos, estos no se deberlan interpretar como limitaciones al alcance de lo que se puede reivindicar, sino mas bien como descripciones de implementaciones particulares de la materia objeto. Determinadas caracterlsticas que se describen en la presente memoria descriptiva en el contexto de implementaciones separadas tambien se pueden implementar en combinacion en una unica implementacion. A la inversa, diversas caracterlsticas que se describen en el contexto de una unica implementacion tambien se pueden implementar en multiples implementaciones por separado o en cualquier subcombinacion adecuada. Ademas, a pesar de que en lo que antecede se puedan describir caracterlsticas como que actuan en determinadas combinaciones e incluso se puedan reivindicar inicialmente en ese sentido, una o mas caracterlsticas procedentes de una combinacion reivindicada pueden, en algunos casos, eliminarse de la combinacion, y la combinacion reivindicada se puede dirigir a una subcombinacion o a una variacion de una subcombinacion.
De forma similar, a pesar de que las operaciones se muestran en los dibujos en un orden particular, esto no se deberla entender como que se requiera que tales operaciones se realicen en el orden particular que se muestra, o en orden secuencial, o que se realice la totalidad de las operaciones ilustradas, para lograr unos resultados deseables. En determinadas circunstancias, puede ser ventajoso un procesamiento multitarea y en paralelo. Ademas, la separation de diversos componentes de sistema en las tecnicas que se describen en el presente documento no se deberla entender como que se requiera tal separacion en todos los aspectos.
A pesar de que la materia objeto se ha descrito con una implementacion especlfica, otras alternativas, modificaciones y variaciones seran evidentes a los expertos en la materia. Por consiguiente, la divulgation tiene por objeto ser ilustrativa, pero no limitante, y la totalidad de tales alternativas, modificaciones y variaciones se encuentran dentro del alcance de las siguientes reivindicaciones.

Claims (11)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    REIVINDICACIONES
    1. Uno o mas dispositivos informaticos (101) que estan configurados para leer y escribir datos en memoria, comprendiendo los uno o mas dispositivos informaticos (101):
    un programador de entrada/salida con estrangulacion de lectura (113) que esta configurado para tomar solicitudes de escritura para los datos capturados de una red (109), para proporcionar estos datos a un sistema (105) que da persistencia a los datos capturados, y para tomar solicitudes de lectura procedentes de sistemas de usuario externos;
    el programador de entrada/salida con estrangulacion de lectura (113) esta configurado adicionalmente para determinar una tasa de captura al mantener dos ventanas deslizantes a lo largo de solicitudes de escritura previas, siendo la segunda ventana mas larga que la primera;
    el programador de entrada/salida con estrangulacion de lectura (113) configurado adicionalmente de tal modo que:
    cuando la actividad de solicitudes de escritura supera un umbral segun se determina a lo largo de la primera ventana, el programador de entrada/salida con estrangulacion de lectura (113) deja de atender solicitudes de lectura; y
    cuando la actividad de solicitudes de lectura y de escritura cae por debajo del umbral segun se computa a lo largo de la segunda ventana, el programador de entrada/salida con estrangulacion de lectura (113) reanuda la atencion a solicitudes de lectura
    un medio de almacenamiento (105) en el cual se reenvlan las solicitudes de lectura y de escritura.
  2. 2. Los uno o mas dispositivos informaticos (101) segun la reivindicacion 1, que comprenden adicionalmente una tarjeta de captura de protocolo de comunicacion de red (103) que esta configurada para capturar datos que estan diseminados a lo largo de una red (109) y proporcionar estos datos al programador de entrada/salida con estrangulacion de lectura (113).
  3. 3. Los uno o mas dispositivos informaticos (101) segun la reivindicacion 2, que comprenden adicionalmente una derivacion de red pasiva (111) que esta configurada para acceder a datos que fluyen a traves de una red (109), y para paquetizar y encaminar los datos hacia la tarjeta de captura de protocolo de comunicacion de red (103).
  4. 4. Los uno o mas dispositivos informaticos (101) segun la reivindicacion 1, en los que el programador de entrada/salida con estrangulacion de lectura (113) esta configurado adicionalmente de tal modo que, cuando la actividad de solicitudes de lectura y de escritura supera el umbral, el programador de entrada/salida con estrangulacion de lectura (113) bloquea las solicitudes de lectura existentes y entrantes.
  5. 5. Los uno o mas dispositivos informaticos (101) segun la reivindicacion 1, en los que el programador de entrada/salida con estrangulacion de lectura (113) esta configurado adicionalmente de tal modo que, cuando el rendimiento de escritura cae por debajo de la tasa de captura de datos, el programador de entrada/salida con estrangulacion de lectura (113) altera el flujo de solicitudes de lectura.
  6. 6. Los uno o mas dispositivos informaticos (101) segun la reivindicacion 1, en los que el umbral o bien esta previamente establecido o bien se determina de forma dinamica.
  7. 7. Los uno o mas dispositivos informaticos (101) segun la reivindicacion 1, en los que el medio de almacenamiento (105) se selecciona de entre el grupo que consiste en unidades de disco magnetico, unidades de tipo flash, y combinaciones de las mismas.
  8. 8. Los uno o mas dispositivos informaticos (101) segun la reivindicacion 1, en los que el medio de almacenamiento (105) comprende una agrupacion redundante de discos independientes.
  9. 9. Un metodo implementado por uno o mas dispositivos informaticos (101) que estan configurados para programar datos de lectura y de escritura en memoria, comprendiendo el metodo:
    recibir solicitudes de lectura y de escritura;
    determinar una tasa de solicitudes de lectura y de escritura al mantener dos ventanas deslizantes a lo largo de solicitudes de escritura previas, siendo la segunda ventana mas larga que la primera;
    cuando la actividad de solicitudes de escritura supera el umbral segun se determina a lo largo de la primera ventana, dejar de atender solicitudes de lectura; y
    reenviar la solicitud de lectura y de escritura a un medio de almacenamiento (105); y
    cuando la actividad de solicitudes de lectura y de escritura cae por debajo del umbral segun se computa a lo largo de 5 la segunda ventana, reanudar la atencion a solicitudes de lectura.
  10. 10. El metodo segun la reivindicacion 9, que comprende adicionalmente al menos una de las siguientes etapas:
    (i) cuando la actividad de solicitudes de escritura supera el umbral, bloquear las solicitudes de lectura existentes y entrantes; y
    (ii) cuando la actividad de solicitudes de escritura cae por debajo del umbral, reanudar la atencion a solicitudes de 10 lectura.
  11. 11. El metodo segun la reivindicacion 9, que comprende adicionalmente, cuando el rendimiento de escritura cae por debajo de la tasa de captura de datos, alterar el flujo de solicitudes de lectura.
ES13763455.6T 2012-03-20 2013-03-08 Programador de entrada/salida de lectura estrangulada Active ES2620322T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201213506006 2012-03-20
US13/506,006 US8903994B2 (en) 2012-03-20 2012-03-20 Read-throttled input/output scheduler
PCT/US2013/029918 WO2013142099A1 (en) 2012-03-20 2013-03-08 Read-throttled input/output scheduler

Publications (1)

Publication Number Publication Date
ES2620322T3 true ES2620322T3 (es) 2017-06-28

Family

ID=49213385

Family Applications (1)

Application Number Title Priority Date Filing Date
ES13763455.6T Active ES2620322T3 (es) 2012-03-20 2013-03-08 Programador de entrada/salida de lectura estrangulada

Country Status (6)

Country Link
US (1) US8903994B2 (es)
EP (1) EP2829029B1 (es)
AU (1) AU2013235609B2 (es)
CA (1) CA2865926C (es)
ES (1) ES2620322T3 (es)
WO (1) WO2013142099A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9282043B1 (en) * 2013-09-24 2016-03-08 Juniper Networks, Inc. Trend-based flow aggregation for flow suppression
US10691661B2 (en) * 2015-06-03 2020-06-23 Xilinx, Inc. System and method for managing the storing of data
US10733167B2 (en) 2015-06-03 2020-08-04 Xilinx, Inc. System and method for capturing data to provide to a data analyser
KR102505855B1 (ko) * 2016-01-11 2023-03-03 삼성전자 주식회사 가중치 기반 멀티-큐 가능 리소스 공유 방법
US10819597B2 (en) 2018-12-18 2020-10-27 At&T Intellectual Property I, L.P. Network device measurements employing white boxes

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548728A (en) * 1994-11-04 1996-08-20 Canon Information Systems, Inc. System for reducing bus contention using counter of outstanding acknowledgement in sending processor and issuing of acknowledgement signal by receiving processor to indicate available space in shared memory
US6961341B1 (en) * 1996-07-02 2005-11-01 Microsoft Corporation Adaptive bandwidth throttling for network services
US5953685A (en) * 1997-11-26 1999-09-14 Intel Corporation Method and apparatus to control core logic temperature
US20030046396A1 (en) * 2000-03-03 2003-03-06 Richter Roger K. Systems and methods for managing resource utilization in information management environments
US6694392B1 (en) * 2000-06-30 2004-02-17 Intel Corporation Transaction partitioning
US7127534B2 (en) * 2003-06-27 2006-10-24 Emulex Design & Manufacturing Corporation Read/write command buffer pool resource management using read-path prediction of future resources
US7200691B2 (en) * 2003-12-22 2007-04-03 National Instruments Corp. System and method for efficient DMA transfer and buffering of captured data events from a nondeterministic data bus
US7895398B2 (en) * 2005-07-19 2011-02-22 Dell Products L.P. System and method for dynamically adjusting the caching characteristics for each logical unit of a storage array
US8296550B2 (en) * 2005-08-29 2012-10-23 The Invention Science Fund I, Llc Hierarchical register file with operand capture ports
US8554983B2 (en) * 2008-05-27 2013-10-08 Micron Technology, Inc. Devices and methods for operating a solid state drive
US8285948B2 (en) * 2009-03-23 2012-10-09 International Business Machines Corporation Reducing storage system power consumption in a remote copy configuration
US8838853B2 (en) * 2010-01-18 2014-09-16 Marvell International Ltd. Access buffer
US8683128B2 (en) * 2010-05-07 2014-03-25 International Business Machines Corporation Memory bus write prioritization
US8984216B2 (en) * 2010-09-09 2015-03-17 Fusion-Io, Llc Apparatus, system, and method for managing lifetime of a storage device
US8468318B2 (en) * 2010-09-15 2013-06-18 Pure Storage Inc. Scheduling of I/O writes in a storage environment
US8589625B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of reconstructive I/O read operations in a storage environment
EP2493139A1 (en) * 2011-02-22 2012-08-29 Voipfuture GmbH VoIP quality measurement enhancements using the internet control message protocol
US9106265B2 (en) * 2011-11-04 2015-08-11 Silicon Laboratories Inc. Receive data flow path using a single FEC decoder

Also Published As

Publication number Publication date
EP2829029B1 (en) 2016-12-21
EP2829029A1 (en) 2015-01-28
CA2865926C (en) 2017-08-22
US8903994B2 (en) 2014-12-02
AU2013235609B2 (en) 2016-06-09
CA2865926A1 (en) 2013-09-26
AU2013235609A1 (en) 2014-09-11
EP2829029A4 (en) 2015-10-28
WO2013142099A1 (en) 2013-09-26
US20130254324A1 (en) 2013-09-26

Similar Documents

Publication Publication Date Title
ES2620322T3 (es) Programador de entrada/salida de lectura estrangulada
CN104954271B (zh) Sdn网络中的数据包处理方法和装置
JP6430462B2 (ja) バーチャルマシン通信トラフィックを成形すること
US9154453B2 (en) Methods and systems for providing direct DMA
US6260070B1 (en) System and method for determining a preferred mirrored service in a network by evaluating a border gateway protocol
US10225193B2 (en) Congestion sensitive path-balancing
US9985977B2 (en) Direct cache access for network input/output devices
US11736417B2 (en) Devices and methods for network message sequencing
US20230101844A1 (en) Grade of service control closed loop
US10462057B1 (en) Shaping network traffic using throttling decisions
US10791058B2 (en) Hierarchical enforcement of service flow quotas
JP4646002B2 (ja) 接続管理の方法、システム、およびプログラム製品
US9160688B2 (en) System and method for selective direct memory access
US20070130355A1 (en) System and Method for Determining a Preferred Mirrored Service in a Network by Evaluating a Border Gateway Protocol
US11784935B2 (en) Centralized aggregated elephant flow detection and management
JP2006109299A (ja) パケット転送装置及びストレージシステム
JP2023553893A (ja) ネットワークプロトコルを用いてネットワークフローデータを通信すること