mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* RE: [RFC] Direct Sockets Support??
@ 2001-05-08 20:18 Venkatesh Ramamurthy
  2001-05-08 20:50 ` Alan Cox
  2001-05-08 21:32 ` 'Pete Wyckoff'
  0 siblings, 2 replies; 15+ messages in thread
From: Venkatesh Ramamurthy @ 2001-05-08 20:18 UTC (permalink / raw)
  To: 'Pete Wyckoff', Alan Cox
  Cc: Ken Nicholson, Venkatesh Ramamurthy, pollard, linux-kernel

	> But in the case of an application which fits in main memory, and
	> has been running for a while (so all pages are present and
	> dirty), all you'd really have to do is verify the page tables are
	> in the proper state and skip the TLB flush, right?

	We really cannot assume this. There are two cases 
		a. when a user app wants to receive some data, it allocates
memory(using malloc) and waits for the hw to do zero-copy read. The kernel
does not allocate physical page frames for the entire memory region
allocated. We need to lock the memory (and locking is expensive due to
costly TLB flushes) to do this

		b. when a user app wants to send data, he fills the buffer
and waits for the hw to transmit data, but under heavy physical memory
pressure, the swapper might swap the pages we want to transmit. So we need
to lock the memory to be 100% sure.




^ permalink raw reply	[flat|nested] 15+ messages in thread
* RE: [RFC] Direct Sockets Support??
@ 2001-05-03 20:55 Venkatesh Ramamurthy
  0 siblings, 0 replies; 15+ messages in thread
From: Venkatesh Ramamurthy @ 2001-05-03 20:55 UTC (permalink / raw)
  To: 'Alan Cox'; +Cc: linux-kernel

	>> technology is Infiniband . In Infiniband, the hardware supports
IPv6 . For
	>> this type of devices there is no need for software TCP/IP. But
for
	>> networking application, which mostly uses sockets, there is a
performance
	>> penalty with using software TCP/IP over this hardware. 

	> IPv6 is only the bottom layer of the stack. TCP does a lot lot
more.

	Sorry to have confused you. IB supports the notion of connection
over IPv6, not exactly TCP. I just interchanged TCP and notion of connection
provided by infiniband. Infiniband is a cluster of technologies like VI, IP,
etc. So i felt that we can take advantage of this to do networking. Because
the speed of IB ranges from 2.5Gbps to 30Gbps, even a slight overhead in
software will affect performance very badly.



^ permalink raw reply	[flat|nested] 15+ messages in thread
* RE: [RFC] Direct Sockets Support??
@ 2001-05-03 20:40 Venkatesh Ramamurthy
  2001-05-03 21:52 ` Alan Cox
  0 siblings, 1 reply; 15+ messages in thread
From: Venkatesh Ramamurthy @ 2001-05-03 20:40 UTC (permalink / raw)
  To: 'Alan Cox'; +Cc: pollard, Venkatesh Ramamurthy, linux-kernel

> For the case where the routing will be external. Thats conveniently
> something
> you can deduce in advance. In theory nothing stops you implementing this.
> Conventionally you would do that with BSD sockets by implementing a new
> socket family PF_INFINIBAND. You might then choose to make the selection
> of that either done by the application or under it by C library overrides.
> 
	Thats exactly my point, we need to define a new protocol family to
support it. This means that all applications using PF_INET needs to be
changed and recompiled. My basic argument goes like this if hardware can
support the notion of connection, the sockets layer should be aware of this
and send all request to the hw. I can assign an IPv4 address(for sake of
backward compatiblity) and get away w/o software TCP/IP.i get the
performance benefit of hardware TCP/IP (notion of connection). 

	The windoze 2000 DDK has an interesting section about WinSock
direct(r) that lets the SAN hardware (like IB) to still use traditional
PF_INET for it.

	Also one interesting whitepaper 
	
http://servernet.himalaya.compaq.com/snet2/whitepapers/WSD_Perf_White_Paper_
3-21-01.doc



^ permalink raw reply	[flat|nested] 15+ messages in thread
* RE: [RFC] Direct Sockets Support??
@ 2001-05-03 20:23 Jesse Pollard
  0 siblings, 0 replies; 15+ messages in thread
From: Jesse Pollard @ 2001-05-03 20:23 UTC (permalink / raw)
  To: Venkateshr, 'Jesse Pollard',
	Venkatesh Ramamurthy, 'Alan Cox',
	alan, Venkatesh Ramamurthy
  Cc: linux-kernel

---------  Received message begins Here  ---------

> 
> 
> 	> Doesn't this bypass all of the network security controls? Granted
> - it is
> 	> completely reasonable in a dedicated environment, but I would
> think the
> 	> security loss would prevent it from being used for most usage.
> 
> 	Direct Sockets makes sense only in clustering (server farms) to
> reduce intra-farm communication. It is *not* supposed to be used for regular
> internet. Direct Sockets over subnets is also tough to implement it across
> different topology subnets. Fabrics like Infiniband provide security on
> hardware, so there is no need to worry about it. The simple point  is that
> hw supports TCP/IP, then why do we need a software TCP/IP over it?

Because the hardware doesn't have the users security context. All it can
see are addresses, socket numbers and protocol. Neither can it be extended
with that information (IPSec). Authentication of the connections are not
possible.

Now... If the server farm only runs one job at a time, it is irrelevent...

-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@navo.hpc.mil

Any opinions expressed are solely my own.

^ permalink raw reply	[flat|nested] 15+ messages in thread
* RE: [RFC] Direct Sockets Support??
@ 2001-05-03 19:25 Venkatesh Ramamurthy
  2001-05-03 20:29 ` Alan Cox
  0 siblings, 1 reply; 15+ messages in thread
From: Venkatesh Ramamurthy @ 2001-05-03 19:25 UTC (permalink / raw)
  To: 'Jesse Pollard', Venkatesh Ramamurthy, 'Alan Cox',
	Venkatesh Ramamurthy
  Cc: linux-kernel


	> Doesn't this bypass all of the network security controls? Granted
- it is
	> completely reasonable in a dedicated environment, but I would
think the
	> security loss would prevent it from being used for most usage.

	Direct Sockets makes sense only in clustering (server farms) to
reduce intra-farm communication. It is *not* supposed to be used for regular
internet. Direct Sockets over subnets is also tough to implement it across
different topology subnets. Fabrics like Infiniband provide security on
hardware, so there is no need to worry about it. The simple point  is that
hw supports TCP/IP, then why do we need a software TCP/IP over it?


^ permalink raw reply	[flat|nested] 15+ messages in thread
* RE: [RFC] Direct Sockets Support??
@ 2001-05-03 19:23 Jesse Pollard
  0 siblings, 0 replies; 15+ messages in thread
From: Jesse Pollard @ 2001-05-03 19:23 UTC (permalink / raw)
  To: Venkateshr, 'Alan Cox', Venkatesh Ramamurthy; +Cc: linux-kernel


> 	> Define 'direct sockets' firstly.
> 	Direct Sockets is the ablity by which the application(using sockets)
> can use the hardwares features to provide connection, flow control,
> etc.,instead of the TCP and IP software module. A typical hardware
> technology is Infiniband . In Infiniband, the hardware supports IPv6 . For
> this type of devices there is no need for software TCP/IP. But for
> networking application, which mostly uses sockets, there is a performance
> penalty with using software TCP/IP over this hardware. 
> 
> > I have seen several lines of attack on very high bandwidth devices.
> > Firstly
> > the linux projects a while ago doing usermode message passing directly
> > over
> > network cards for ultra low latency. Secondly there was a VI based project
> > that was mostly driven from userspace.
> > 
> 	The application needs to rewritten to use VIPL, but if we could
> provide a sockets over VI (or Sockets over IB), then the existing
> applications can run with a known environment. 
> 
> 
> > One thing that remains unresolved is the question as to whether the very
> > low
> > cost Linux syscalls and zero copy are enough to achieve this using a
> > conventional socket API and the kernel space, or whether a hybrid direct 
> > access setup is actually needed.
> > 
> 	My point is that if the hardware is capable of doing TCP/IP , we
> should let the sockets layer talk directly to it (direct sockets). Thereby
> the application which uses the sockets will get better performance.

Doesn't this bypass all of the network security controls? Granted - it is
completely reasonable in a dedicated environment, but I would think the
security loss would prevent it from being used for most usage.

-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@navo.hpc.mil

Any opinions expressed are solely my own.

^ permalink raw reply	[flat|nested] 15+ messages in thread
* RE: [RFC] Direct Sockets Support??
@ 2001-05-03 18:59 Venkatesh Ramamurthy
  2001-05-03 20:17 ` Alan Cox
  0 siblings, 1 reply; 15+ messages in thread
From: Venkatesh Ramamurthy @ 2001-05-03 18:59 UTC (permalink / raw)
  To: 'Alan Cox', Venkatesh Ramamurthy; +Cc: linux-kernel


	> Define 'direct sockets' firstly.
	Direct Sockets is the ablity by which the application(using sockets)
can use the hardwares features to provide connection, flow control,
etc.,instead of the TCP and IP software module. A typical hardware
technology is Infiniband . In Infiniband, the hardware supports IPv6 . For
this type of devices there is no need for software TCP/IP. But for
networking application, which mostly uses sockets, there is a performance
penalty with using software TCP/IP over this hardware. 

> I have seen several lines of attack on very high bandwidth devices.
> Firstly
> the linux projects a while ago doing usermode message passing directly
> over
> network cards for ultra low latency. Secondly there was a VI based project
> that was mostly driven from userspace.
> 
	The application needs to rewritten to use VIPL, but if we could
provide a sockets over VI (or Sockets over IB), then the existing
applications can run with a known environment. 


> One thing that remains unresolved is the question as to whether the very
> low
> cost Linux syscalls and zero copy are enough to achieve this using a
> conventional socket API and the kernel space, or whether a hybrid direct 
> access setup is actually needed.
> 
	My point is that if the hardware is capable of doing TCP/IP , we
should let the sockets layer talk directly to it (direct sockets). Thereby
the application which uses the sockets will get better performance.




^ permalink raw reply	[flat|nested] 15+ messages in thread
[parent not found: <007901c0d3fd$ea3f0880$7253e59b@megatrends.com>]

end of thread, other threads:[~2001-05-08 21:33 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <034670D62D19D31180990090277A37B701811D72@mercury.corp.iready.com>
2001-05-08 13:04 ` [RFC] Direct Sockets Support?? Alan Cox
2001-05-08 20:00   ` Pete Wyckoff
2001-05-08 20:18 Venkatesh Ramamurthy
2001-05-08 20:50 ` Alan Cox
2001-05-08 21:32 ` 'Pete Wyckoff'
  -- strict thread matches above, loose matches on Subject: below --
2001-05-03 20:55 Venkatesh Ramamurthy
2001-05-03 20:40 Venkatesh Ramamurthy
2001-05-03 21:52 ` Alan Cox
2001-05-03 20:23 Jesse Pollard
2001-05-03 19:25 Venkatesh Ramamurthy
2001-05-03 20:29 ` Alan Cox
2001-05-03 19:23 Jesse Pollard
2001-05-03 18:59 Venkatesh Ramamurthy
2001-05-03 20:17 ` Alan Cox
     [not found] <007901c0d3fd$ea3f0880$7253e59b@megatrends.com>
2001-05-03 18:34 ` Alan Cox

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®