2012年3月24日星期六

Cheap Oakley SunglassesTime: 2009-10-3 20: 57: 25 source: www

Time: 2009-10-3 20: 57: 25 source: www.cnblogs.com Author: the use of Jquery to achieve a press roll into view,Louboutin Shoes, will be suspended for several seconds,Cheap Oakley Sunglasses, and then continue to the 2 scroll,UGG Boots Clearance, fade out of view,Monster Beats Solo, at the same time,Coach Outlet Store Online, a piece of news then scrolls into view.
The jQuery is mainly used to develop the function of #. & 160 & 160 & #; #; 160; 160 & 160 & #; #; & # 160 & 160 & #; #; 160; 160 & 160 & #; #; & # 160; {& # 160; & # & 160; # 160 & 160 & #; #; 160; 160 & 160 & #; # & #; 160; 160 & 160 & #; #; & # 160; padding: 0; 160 & 160 & #; # & #; 160; 160 & 160 & #; # # 160; &; & # 160; 160 & 160 & #; #; & # & # 160; m 160.
Related articles:

Beats HeadphonesOn chip bus Wishbone learning (seven) bus cycle # handshake protocol & 160 & 160 & #

On chip bus Wishbone learning (seven) bus cycle # handshake protocol & 160 & 160 & #; #; 160; 160 & 160 & #; # & #; 160; 160 & 160 & #; #; because in the bus cycle,Beats Headphones, CYC_O must always remain valid,Coach Outlet Store, therefore,Moncler Outlet, we will give in the graph to ignore the signal only when necessary,Moncler Coats, given the.
& & # # 160; 160; 160 & 160 & #; #; & # 160 & 160 & #; #; 160; 160 & 160 & #; #; shaking occurring in the master device and the slave device.Handshake protocol is a master device and a slave device in a handshake which comply with the common rule.
Related articles:

Moncler ScaftIn order to allow beginners to more quickly master

In order to allow beginners to more quickly master, in a series of articles, I did everything I could to avoid a theory to explain,Christian Louboutin Sale, for beginners,Oakley Sunglasses, too much theoretical narration will reduce them to learn programming interest, two,Cheap Coach Bags, official document information is very detailed, I said is nonsense.
Therefore,Moncler Scaft, I will try to give some simple examples, for beginners to understand, oh,UGG Boots Clearance, of course, learning LINQ, also have a certain C # grammar.The last article we discuss the most simple LINQ grammar, but also the most basic grammar and expression writing structure, in this paper we talk about several important concepts.
Related articles:

Nike Air MaxThere is a proverb is at stake

There is a proverb is at stake.There is a feeling once paid indicates risk.The egg is the mock - love, how beautiful is more easily broken.The egg is the egg yolk and egg white look attractive,Nike Air Max, like a pair of lovers die, each other each other up.
The egg is worrying, slight movement can make the egg white and yolk is not you and me.The eggs,Moncler Jackets, everyone has to give a careful.The egg is a woman of love in mind,Ladies Monster Headphones, be careful it cherish it caresses it, put it in a safe place, can be the most secure place are often the most dangerous.
Like the myth of the greedy witch, his most beloved thing today to hide here, tomorrow there, until this thing to wear in the memory disappear.A woman broke her eggs after a quick failure.The woman is to love when life, woman is itself an egg.
Twelve years old that year, throughout the country in a earthquake.Parents have a heap of fresh straw in the yard, the children in the house at night to sleep in here.The very next day came back from school, I was amazed at the scene - wheat straw stack on a dozen arch into the nest, each nest lies a bright egg.
The day the sun is really beautiful ah, like a vortex is a vortex lemon juice on my eyes.I holds up the skirt a grain to the seizure,Dr Dre Headphones, I'm rich heart is beating nearly hit me in the chest.As I turned around, what was the trip, my body and my eggs with lodging.
So my arms the eggs into a painting of Van Gogh.Later this picture has appeared in my dream, I will be waiting for the very next day,Vibram Shoes, there are small harm to me as scheduled, with soft punishment.At University, a boiled egg is our night night.
I let it warm lying in my hand to peel.Blown me smooth forehead, my youth hand feel walking in the way of love, I imagine the love I like egg yolk on hold.Then the wedding night, I put the egg to him.He peeled me so with great care but I still feel the pain.
Fortunately, the road, no matter how far, to make a life plan.Every time put the eggs into a bowl, stir before always hesitated.Live is such, gradually divide not clear of egg white and yolk.The egg is love, is a stone age.
Related articles:

Monster beats signature

引:在《《OpenVPN性能》之后,我进一步阅读了硬件的解决方案,希望能得到一些思想,然后进一步的改进我的设计,由于工作的便利性和实际工作的需要,我阅读了intel的82571EB,82574L,82575等以太网芯片的datesheet的相关特性描述部分(由于我不打算亲自写驱动,因此我没有阅读寄存器以及存储器细节,更多的是我不相信自己的驱动比intel的工程师们的更高效),得到了很多感觉,以下是我的一些摘录和读后感。
一,网络应用开销
1.协议栈处理开销:分层模型各个层次的OS实现开销
2.内存拷贝开销:网卡,内核内存,用户态内存之间的拷贝
3.系统层面的开销:中断,缓存管理,系统调用
二,局部的解决方案
1.dma-针对内存拷贝,需要锁定总线,此时cpu就好像被拔除了一样(《Intel微处理器》中原话),如果网卡数据芯片没有cpu高效,除了省去了一次cpu中转之外,性能反而降低。
2.硬中断负载均衡-针对多cpu的利用率(希望多cpu全部用来处理协议栈),此带来软中断负载均衡(在硬中断cpu上触发软中断),做的不好没有效果,造成某个cpu高负载,其它cpu空闲,做的好的话,会造成基于顺序的协议包乱序,这就是cpu并行和tcp串行之间的冲突。
3.TOE-针对pci总线访问延迟过高,tcp卸载引擎,这种方案对于经常传输小包的情形来说无疑是不好的,因此在网卡中大量处理tcp协议会造成收发速率降低。
4.NAPI-针对中断频发导致切换过多,最终影响处理器cache的热度。但是依赖dma,依赖网卡芯片,Outlet Coach Store,依赖网络状况。局部的解决方案很多都造成治聋致哑的结局,原因就是各因素之间的影响是隔离的,因此必然需要一种全局的方案,各因素之间相互配合达到最好的效果。其中intel提出一种io加速方案,那就是ioat。
三,一种全局的方案-IOAT
1.quick data,QD可以在不阻塞cpu的情况下异步执行dma操作,而dma却是一种同步的方式独占总线。和DMA相比,芯片速率比cpu更高或者根本无需挂起处理器。
2.RSS,多队列网卡,将不同的流负载到不同的cpu上,Coach Outlet Store Online,同一流始终在同一cpu上,避免tcp的顺序性和cpu的并行性的冲突。基于流的负载均衡,解决顺序协议和cpu并行的冲突以及cache热度问题。
3.DCA,直接将数据放入RSS绑定的cpu的缓存中,更加有利于后期cpu处理协议栈流程时对数据的访问。和频度中断一起解决cache热度问题。dca基于pcie,由于pcie是基于协议消息的,因此很容易封装一个复杂的消息交由前端译码器(root complex)触发处理器的预取,只需要它解析消息即可,可以想象如果在并行的总线上,设计如此复杂的机制是不可能的,要考虑多少时序啊!
4.频度中断,如果数据包不断到来则积累中断,Moncler Online,为了不使某积累中的包延迟过大,需要一个权衡出来的可编程硬件timer,到期后定期中断,并且为了为一些特殊包提供特殊服务,需要保留随时中断的机制。多种中断方案,可以使得cpu切换最小化,cache热度最大化。
5.Header Splitting,将数据包头和数据包内容分开拷贝到不同的dma或者qd内存区域,这样cpu就可以直接使用包头了,而不用再从数据包中解析包头了,加上dca机制,包头信息载入绑定cpu的cache,cpu在接下来处理过程中会提高效率。
1-5.ioat的组成部分,其中RSS和DCA可以拥有软件方案,对于rss而言,在收到包时解析包并将包归为某一个流,然后将softirq分发到该流绑定的cpu上即可,然而解析流的效率并不理想,因此硬件解决方案比较好,Monster beats signature,intel的82575及以上的网卡实现了rss。其中的频度中断思想类似于《OpenVPN性能-OpenVPN的第一个瓶颈在tun驱动》中对tun驱动进行修改的思想。
四,硬件实现:
82571/2没有rss,82574有了rss(2个队列),但是需要驱动程序完成cpu绑定,82575由硬件完成了rss(4个队列)的cpu绑定。花了很多时间阅读了intel8257x网卡芯片的手册,很有感觉。
1.摘录一段82575手册中的描述中断的语句:
The 82575 implements interrupt moderation to reduce the number of interrupts software processes. The moderation scheme is based on EITR. Each time an interrupt event happens, the corresponding bit in the EICR is activated. However, an interrupt message is not sent out on the PCIe* interface until the EITR counter assigned to that EICR bit has counted down to zero. As soon as the interrupt is issued, the EITR counter is reloaded with its initial value and the process repeats again. The interrupt flow should follow as shown in Figure 20.
*******************
inter1
*******************
For cases where the 82575 is connected to a small number of clients, it is desirable to initiate the interrupt as soon as possible with minimum latency. For these cases, when the EITR counter counts down to zero and no interrupt event has happened, then the EITR counter is not reset but stays at zero.Therefore, the next interrupt event triggers an immediate interrupt (see Figure 21 and Figure 22).
*******************

*******************
2.针对header split,82575手册上有很好的描述,
This feature consists of splitting or replicating a packet’s header to a different memory space. This helps the host to fetch headers only for processing: headers are replicated through a regular snoop transaction, in order to be processed by the host processor. It is recommended to perform this transaction with the DCA feature enabled.The packet (header + payload) is stored in memory through an optional non-snoop transaction.
**************

***************
如果不是很理解,微软的msdn上也有描述,截图如下:
**************

*****************
3.82574L中就已经集成了RSS,然则却很不完善,有很多的事情还是需要软件来完成的,所谓的软件完成其实就是驱动程序来完成,不管怎样,这一步使rss在ioat中的地位日趋确立,82574L中的描述如下:
The 82574L provides two hardware receive queues and filters each receive packet into one of the queues based on criteria that is described as follows. Classification of packets into receive queues have several uses, such as:
Receive Side Scaling (RSS)
Generic multiple receive queues
Priority receive queues.
...
When multiple receive queues are enabled, the 82574 provides software with several types of information. Some are requirements of Microsoft* RSS while others are provided for software device driver assistance:
A Dword result of the Microsoft* RSS hash function, to be used by the stack for flow classification, is written into the receive packet descriptor (required by Microsoft* RSS).
A 4-bit RSS Type field conveys the hash function used for the specific packet (required by Microsoft* RSS).
A mechanism to issue an interrupt to one or more CPUs (section 7.1.11). #注意这一句
Figure 33 shows the process of classifying a packet into a receive queue:
1. The receive packet is parsed into the header fields used by the hash operation (such as, IP addresses, TCP port, etc.).
2. A hash calculation is performed. The 82574L supports a single hash function, as defined by Microsoft* RSS. The 82574L therefore does not indicate to the software device driver which hash function is used. The 32-bit result is fed into the packet receive descriptor.
3. The seven LSBs of the hash result are used as an index into a 128-entries redirection table. Each entry in the table contains a 5-bit CPU number. This 5-bit value is fed into the packet receive descriptor. In addition, each entry provides a single bit queue number, which denotes that queue into which the packet is routed.
***************

***************
而在82575中,rss完善了,加上了多cpu之间的自动绑定,先附上一幅图,基本原理也就明白了:
****************

*****************
82575数据手册如是说:
It is assumed that each queue is associated with a specific processor, even when there are more
processors than queues.
附上一副更加清晰的图:
*****************

**************
3.82571EB开始了提速,只不过在该版本中还是传统的修补,没有什么大的动作,其中TOE中增加了许多东西,很

多计算都可以从cpu上offload了
4.对于性能测试,先后看了一些资料,不过既然瞄准了intel的解决方案,还是看intel的数据吧,首先贴两张开

销分析图:
****************

****************

**************
然后是ioat的结果,没有给出数据,但是给出了ioat针对哪些病症部位下了手:
****************

*****************
结:
1.和外设通信的方式有:
1.1.中断
1.2.轮询
1.3.DMA
然而这些都是教科书上的方法,正如cisc和risc一样,很教条,真正的方式已经将中断和轮询结合成了napi,intel也结合了DMA和多cpu形成了QuickData,Moncler Jacken,根本上ioat也是napi和quickdata的结合加上其它的机制,我们可以看到,很多时候,ioat颠覆了分层的网络模型,物理网卡怎么能处理tcp流呢?这在传统教条卫道士那里是不可饶恕的。
2.崇拜intel
上学那会儿,装机,我用了intel的奔四cpu,1000多买的,同寝室的后来装机都用了amd的,3200+的性能比我的竟然还好,又不挑电源,又便宜很多,MD当时我就不平衡了,同寝的都认为amd要彻底超越intel了,加上amd在64位技术上走在了前面,我渐渐的也认为intel不行了。然而工作了很久之后,我发现intel不仅仅是做微处理器的,人家主要是定标准的,不管是pc领域还是服务器领域的。还真别说,intel的方案有时候就是好,大公司养得起猛士,因此做事绝不含糊。

Related articles:

Vibram 5 Fingers SaleI use hibernate storage Blob image is found when this problem

I use hibernate storage Blob image is found when this problem, original picture byte is 2570, save to the Oracle database, byte into 2717, and use the HQL statement to get the blob object,Oakley Sunglasses, check out blob byte is still 2570,Monster Beats Tour, the image can be displayed properly, but the use of pure SQL read blob 2717,Monster Beats Sale, the image does not display, do not know what the reason is.
Oracle blob is oracle.sql.BLOB, procedures in the entity class BLOB type javax.sql.rowset.serial.SerialBlob,Vibram 5 Fingers Sale, does oracle.sql.BLOB converted to javax.sql.rowset.serial.SerialBlob need anything special? Hibernate is how to deal with both the conversion?Below is the hibernate configuration file in BLOB field mapping: < property name = "infPhoto" type = "javax.
sql.rowset.serial.SerialBlob" > < column name = "inf_photo" sql-type = "BLOB" / > / property> < infPhoto; from CmsInfo where rowId select = '1' for blob is 2570 the length of the blob, can display the picture, but the use of the pure SQL to obtain the blob length is 2717 (the length and stored in the Oracle database blob is of the same length): String SQL = "select inf_photo from cms_info where row_id = '" + this.
imageRowId + "."; Object obj1 = service.getJdbcTemplate (). QueryForObject (SQL,Moncler Jackets, Blob.class); if (obj1! = null) {Blob B = (Blob) obj1; logger.info (b.length ()); / / 2717 SerialBlob BB = new SerialBlob (b); logger.
info ("conversion 1:"); logger.info (bb.length ()); / / convert after 2717, do not know by what method to convert SerialBlob can be obtained after the original length?} which prawn knows this problem, thank you.
Related articles:

Coach Outlet Shop Online

这篇博客是我平时读《项目百态-深入理解软件项目行为模式》书,随手发的微博里的感想,呵呵,感觉整理一下还是有必要的。借此做个广告,刚开微博 ,求关注,呵呵!

《项目百态》真是一本很值得看的书,很多都是现实项目中出现问题,如何避免与预防都给出很好的解答,毕竟作者是大师级的啊,Coach Outlet Shop Online[给力]

[项目百态-眼神交流]:现在都流行项目分布式合作开发,但是项目团队中间横垣着距离,Monster Beats Butterfly,双方很难项目信任,因为很多电子信息沟通,缺少语言的微妙之处以及话外之音。所以一地协同是个巨大优势,自己去年负责的一个项目就亲身体会到了这个问题,客户是贵州,南京与重庆两个团队分布开发,那是一个苦啊!

[项目百态―出租灵魂],不能被自己掌握的固有技术所束缚,有时出租灵魂评估与选择符合项目的方案才能让项目让团队更有活力!

[项目百态―清空“板凳”]:有时候在项目组搭建的时候,人员成本总是第一个要考虑的,所以总是用最少人来完成项目。但是当关键人员离职的时候项目的风险又如何把握呢,所以有时间关键的板凳人员看是超出最低成本,但是同样能够保证项目的顺利完成!时间,成本永恒的话题!呵呵

[项目百态―无休止的集体会议]:项目中总会出现针对问题的解决方案众口不一,大家都不同意对方的观点,总是把精力放在试着说服对方上,这样造成了时间的浪费。出现这种情况,项目经理或者会议负责人应该能够站出来决定或者指定一个决策流程,结果出来,Lady Gaga Heartbeats,大家都必须遵守!

[项目百态―影评人]:如果把一个项目看做一个影片,影评人与制片人在项目组中一般都是存在,而两者之间的区别,影评人在项目快结束的时候指出项目问题,并且责任与自己无关。而制片人在项目初期或者出现问题后及时反馈,及时项目失败了,至少他也在为项目成功而奋斗,目标是一致的。

[项目百态―苏式风格]:功能性需求就是一个毛坯房,非功能性需求就是室内的装潢;房子的结构与功能性是在看房与选房时就确定的,而装潢的好坏直接影响居住的舒适程度。而现在这些非功能性需求对于产品最终能否得到客户接受的影响,一点也不亚于功能性需求。

[项目百态―自然权力]:权威与权力是两个不同概念,现在很多团队在做决策时总是领导来做决策,UGG Sale UK,权力占主要作用。而真正一个问题,权威才是能给出答案的人。所以无论权威的人是否手握权力,都应该由他们来作出每个决策。而领导者负责监督决策的实际执行,而不是自己决策。

[项目百态―万籁俱寂的办公室]:办公室氛围直接就能体现出当前团队的一个状态。太安静了,凸显出团队已经失去了活力源泉。

[项目百态―沉默即同意]:项目组在进行任务分配,Beats By Dre,进度沟通中,经常出现这种情况。而往往都是上级对下级进行安排任务,而对下级来说任务难度大或者不能按照预期完成时,就会出现沉默,而一般上级又都视为下级同意接受任务。我认为这是上下级双方都需要考虑与面对的,而不是一方就能解决的。

[项目百态―稻草人]:稻草人类似于软件工程里的原型法,我很赞同书中说两句话:“‘稻草人’的哲学是尽早犯错、频繁犯错,这样你将会尽快地得到正确的结果。” “最好的稻草人模型可能甚至包括一些有意为之的错误”

Related articles: