• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    Research on optimization of virtual machine memory access based on NUMA architecture①

    2022-01-09 02:08:08HeMujun何牧君ZhengLinjiangYangKaiLiuRunfengLiuWeining
    High Technology Letters 2021年4期

    He Mujun(何牧君),Zheng Linjiang,Yang Kai,Liu Runfeng,Liu Weining

    (*College of Computer Science,Chongqing University,Chongqing 400044,P.R.China)

    (**Dawning Information Industry Co.,Ltd.,Beijing 100084,P.R.China)

    Abstract

    Key words:cloud computing,virtualization,non-uniform memory access(NUMA)virtual machine,memory access optimization

    0 Introduction

    The advent of the artificial intelligence(AI)big data era has caused the scale of data centers to grow exponentially.Moreover,deep computing and highperformance computing have placed more stringent requirements on the performance of computer systems.Besides the transformation of the Internet Data Center(IDC)architecture,server architecture and accelerated computing components are also changing.With the development of this architecture,the virtualization platforms need to be designed in a way so that it is compatible with the characteristics of the processor’s architecture,instruction set,clock frequency,and cache.Currently,mainstream processors all adopt a non-uniform memory access(NUMA)structure[1-7].

    Based on the problems mentioned above,this work conducted extensive research to identify potential solutions.The paper is organized as follows.First,in view of virtualization scenarios,the motivation of virtual machine memory access optimization is introduced,then the key issues are analyzed.Subsequently,a series of virtual machine memory access optimization methods based on NUMA architecture are proposed,followed by discussion of its design and implementation[8-12].Finally,the effect of the proposed optimization method is verified and analyzed.

    1 Virtual machine memory access optimization technology of NUMA

    1.1 NUMA architecture of modern processor

    Since the 1980s,processing speeds have considerably increased.As a result,in the 1980s and 1990s,supercomputers were designed to provide high-speed memory access rather than faster processors,enabled computers to process large datasets at speeds that other systems could not do.Therefore,to reduce the cache miss rate,the processor designs a larger cache at that time.However,the size of the operating system and its applications also increased rapidly,making the improvement of cache processing much more difficult[13-15].

    Around the same time,NUMA appears as a memory design structure for multi-core multiprocessors,where the memory access time depends on the memory location relative to the processor.In NUMA,a processor can access its own local memory faster than non-local memory(local memory of another processor),while for non-local memory,accessing the nearest neighbor is faster than the far end[16-17].

    As shown in Fig.1,the relationship between NUMA nodes of a multiprocessor can be described via geometric relationships,in which the number of nodes in the system is limited to 2C,andCis the number of neighbor nodes owned by each other[18].

    Fig.1 Geometric diagram of node relationship

    TakingC=3 as an example,nodes 6,2,5,7,and 10 are neighbor nodes,and 1,3,9,and 11 are remote nodes.In the current NUMA structure of the processor,node accesses to the memory overhead follow the order,local node,neighbor node,and remote node.

    The NUMA hardware architecture system is shown in Fig.2,which introduces the relationship between NUMA nodes.Despite the various designs for NUMA by different manufacturers,the principle stays the same.

    In Fig.2,the NUMA structure solves the forementioned memory access performance problem caused by cache miss by providing separate memory for each processor.On one hand,this prevents multiple processors from trying to address the same memory,which may reduce the performance.On the other hand,it also ensures the maximum design of the access memory bandwidth.Fig.3 presents an example of a NUMA processor with 8 NUMA nodes in total.Among them,the access delay of the same node is the smallest,which is about 85 ns,followed by neighboring nodes of about 140 ns,and the remote node of about 240 ns as the largest.

    In practical application,using NUMA structure can improve the memory access performance by more than double for the application type of data distributed(usually running on the server)[19].

    Fig.2 NUMA hardware architecture

    Fig.3 Communication delay between nodes of a NUMA processor

    1.2 Virtual machine memory access optimization technology

    This paper presents design directions to improve the memory access performance of virtual machine under NUMA architecture.These directions refer to the limitation of resources in terms of memory and processor[20-21].

    By binding the memory and processor of a virtual machine,the cross-node memory access is avoided,and the performance and stability of memory access are improved.Furthermore,it provides a one-to-one binding of processor resources,which prevents the processor from switching within the node and improves the processor’s unilateral computing power.

    Due to the technical limitations of the above two levels,the virtual machine access bus communication by using this design exhibits a more stable,reliable,and overall better performance than other designs[22-23].

    The research direction for further optimization is analyzed below.For the binding of memory and processor resources,the absolute availability of resources must be guaranteed.Therefore,a one-to-one resource usage principle is formulated,resulting in low resource utilization.If resources are bound,sufficient resources must be reserved and constrained by the principle of limited total resources,which is inevitable.When binding memory and processor resources are limited,the load of the virtual machine is unpredictable.Therefore,part of the load is high,and part of the load is low after resource binding,which will lead to the problem of unbalanced use of memory and the appearance of processor resources in the physical machine.To solve unbalanced resource utilization,a dedicated monitoring service module can be designed to regularly monitor the load of NUMA nodes with the physical machine.According to the threshold setting,the resource warning of computing node is triggered to prompt and record,and simultaneously,the switching service of the virtual machine memory and processor is designed to capture the resource alarm based on the monitoring service.In order to achieve the automatic balance of physical machine memory and processor resources in the computing node,the virtual machine of NUMA nodes triggers the processor switch and memory copy replication so as to improve the utilization of resources.

    2 Key issues

    In the cloud computing environment,abundant data intensive business occurs in the data center,such as artificial intelligence,deep learning,and high-performance computing.In order to improve the performance of such services,it is necessary to optimize the memory access bandwidth of the virtual machine where the service is located.This will face two main problems.

    (1)Managing processor affinity.When the virtual machine runs on the host,it is inevitably affected by the host operating system.In the case of processor resource competition,the virtual machine process will increase the delay,while decreasing the memory access bandwidth.The direct result is that computing resource sensitive applications react slowly or will even pretend to be dead.To adapt to the memory architecture of the NUMA node,it is necessary to ensure that a process(virtual machine)on a given central processing unit(CPU)should run as long as possible on the host without being migrated to other processors.

    (2) Adaptability of host and virtual machine memory access policy.In order to ensure the availability of resources,the remaining memory page and newly allocated memory page may not be on the same NUMA node during the virtual machine memory access process,leading to access of the virtual machine crossnode memory.However,simply assigning the NUMA node where the virtual machine is located cannot effectively solve this problem.For services in virtual machines,the access relationship between the newly allocated memory and allocated memory should be adapted to the host memory policy,otherwise,the service performance will be greatly affected.

    3 Virtual machine memory access optimization scheme

    Aiming at the main problems currently faced,this paper designs a set of virtual machine optimization schemes for multi-processor non-uniform memory access architecture hosts,which solves the problem of cross-node memory access through software.The main method is to limit the relationship between memory and the processor,so that the processor can access the memory and allocate it to the local node.Therefore,a technological breakthrough must be made from the allocation of memory and processor to solve this problem.After that,the performance and stability of memory access are guaranteed,and one-to-one allocation of virtual machine processors to host processors can be further performed to improve unilateral computing power,but the simple allocation is not unprincipled.

    The basic idea of this method is as follows.

    (1)The processor process binding of NUMA architecture is satisfied.

    (2)Pre-allocate the virtual machine memory suitable for the host computer.

    3.1 Satisfy the processor binding of NUMA architecture

    The virtual machine runs on the host computer and is represented as a process,which is a presentation of the virtual machine on the physical machine.The process has its own independent memory space,and the virtual processor of the virtual machine appears as a thread of the process.

    A virtual machine runs on the physical machine and is inevitably controlled by the operating system mechanism.First,when the processors of multiple virtual machines compete for the same physical processor resource,the acquisition process of time slice of the virtual machine will be limited by resources,inevitably causing certain delay.Second,there is a resource scheduling mechanism in the operating system,which will switch the virtual machine on the NUMA node with a higher load to the NUMA node with a lower load.When migration occurs,the access between processor and memory will cross NUMA nodes,resulting in an instantaneous drop in memory access bandwidth.For computing resource sensitive scenarios,the direct result is application performance degradation and even virtual machine crash.Therefore,additional mechanisms must be considered to ensure high computing performance of virtual machines.Since the virtual machine is a process,and the virtual processor is a thread in the process,redesigning the level of the physical machine operating system can solve the problem of processor switching.

    In summary,to design a virtualized processor binding scheme with the purpose of improving the performance and stability of the virtualized system,three functions must be implemented,i.e.processor information collection,NUMA node range binding,and indepth NUMA node processor one-to-one binding.The module calling relationship between them is shown in Fig.4.

    Fig.4 Call relation of processor binding module

    The process of processor resource binding can be described as four steps.The first step is to collect the underlying hardware information of the processor and save it to the database for regular update and synchronization.In the second step,the entrance service provides restful application programming interface(API)services,and users apply for the virtual machine through the portal service.The third is the scheduling service,which selects an appropriate physical machine to issue creation requests according to the latest NUMA node information of the physical machine and through the measurement of load and weight.The fourth step is the host computer computing service,which is mainly responsible for the execution of real virtual machine creation(including binding of processor resources).

    When the NUMA node of the physical machine is selected,the instructions for creating virtual machine resources and binding will be sent to the physical machine.The target physical machine is bound to the node processor of the virtual machine using kernelbased virtual machine(KVM)virtual processor pinning technology.Using this technology,binding fixed node resources for the virtual machine processor is realized,where each virtual node is only bound to a physical node processor range for scheduling,avoiding node switching of the virtual processor and improving the memory access performance of the virtual machine.At the same time,one-to-one binding processor resources can be selected to avoid context switching caused by processor switching,reduce performance loss,and further increase the stability of computing power.Flow chart of NUMA node processor binding system is shown in Fig.5.

    The final goal of the solution is to bind the NUMA nodes and processor resources of the virtual machine.For computing sensitive industries,such as big data and AI,this technology is recommended to improve the memory access and computing capacity of virtual machines.

    3.2 Pre-allocate the virtual machine memory suitable for the host computer

    Memory virtualization is the process of converting virtual memory of a virtual machine into physical memory of a host,where the virtual machine still uses physical memory of the host.By adding an extended page table(EPT)register to the virtual machine,the page missing exception will be generated when the virtual machine has access to the page table and the address is empty.After the virtual layer catches the exception,it allocates physical addresses and establishes physical memory and virtual machine memory.During the next conversion,the direct query is converted according to the mapping record.

    Fig.5 Flow chart of NUMA node processor binding system

    The processor and memory of a virtual machine are usually obtained from the same NUMA node.In order to ensure the availability of resources,the operating system will independently judge and select a virtual machine process to find alternative memory resources of other nodes to write data when resource competition occurs.It is inevitable that a certain amount of residual memory is retained in the old node,resulting in cross node memory access.Therefore,simply binding virtual machine nodes cannot effectively solve this problem,which requires synchronous allocation of node memory.This chapter mainly describes the memory orientation and priority allocation scheme of a virtual machine to avoid cross node memory access completely,or as far as possible,and improve the memory access performance and stability of the virtual machine.The memory allocation principle of a virtual machine is consistent with the kernel binding.The module call relationship of memory allocation is shown in Fig.6.

    Fig.6 Module call of node memory allocation system

    The process of memory resource allocation can be described in four steps.The first is for the information collection system to collect the underlying hardware information of the processor and save it in the database,which is then updated and synchronized regularly.In the second,the entrance service provides restful API services,so that users can apply for the virtual machine.The third is the scheduling service,where a suitable physical machine is selected to issue the creation request according to the latest physical machine NUMA node and the measurement of load and weight.The fourth step is the host computing service,which is mainly responsible for the implementation of real virtual machine creation(including memory resource allocation).The memory allocation logic of computing services for virtual machines is shown in Fig.7.

    Fig.7 Flow chart of node memory allocation system

    Based on the mechanism of the virtual machine as a process itself,the virtual memory allocation can be achieved by calling the process memory limit function of the self-control group.The principle of restriction is that the total memory on the physical node is greater than or equal to the total memory bound to the node.The memory of the virtual machine is strictly bound to the physical nodes corresponding to the virtual machine node.If a virtual machine restricts it to use only the memory of a NUMA node,it will not use the memory of other nodes when its node memory is exhausted and will start to use swap instead.If the machine is not set with swap,it will crash directly.Therefore,a compromised memory allocation strategy is adopted and the memory of nodes in the virtual machine is configured by using the principle of priority allocation.In single node memory competition,the memory of the corresponding physical nodes of other nodes in the virtual machine can be allocated,and there are two restrictions on the allocation of memory.The first one strictly limits the overall memory of the virtual machine that can only be obtained within the scope of some corresponding physical nodes.The second allows the necessary cross node allocation of the memory of NUMA nodes in the virtual machine but can only apply for resources within the range of nodes allowed by the overall memory of the virtual machine.This minimizes the occurrence of cross node memory access and ensures the high availability of resources.

    Although super allocation fails using this strategy,it can ensure the high resource availability of the memory resources of the node to the virtual machine that allocates the memory and avoids memory competition among the virtual machines.When the physical NUMA node is short of memory,the memory resources cannot be obtained in the NUMA node normally nor can be switched after the allocation of memory resources.In view of swap and the virtual machine memory priority allocation strategy,the virtual machine memory will not starve to death,but will cause system failure of the virtual machine and a temporary decrease in memory access performance.However,in reality,this problem generally does not occur,but rather a few virtual machines are full of memory resources.There are realistically no services that consume a lot of resources on the host,thus meaning the virtual machine’s memory resources will be sufficient.

    The ultimate goal of the solution is to allocate or prioritize the memory resources of virtual machines.For industries that are sensitive to computing capabilities,such as big data,AI,etc.,this technology is recommended to improve the memory access capabilities of virtual machines.

    4 Experimental verification

    The test environment and tools used in this work are listed in Table 1.

    Table 1 Test environment and tools

    4.1 Memory access performance verification

    At present,there is no fixed binding between the memory and processor of normal virtual machines in the industry.The virtual machine memory and processor on the computing node are affected by the process scheduling of the operating system.In the case of virtual machine over-provisioning,it is easy to generate drift switching of NUMA nodes,causing the memory and processor of the virtual machine to be different NUMA nodes.As a result,the memory access performance will experience instant jitter and,thus,will be greatly reduced.

    The virtual machine that binds the memory and processor resources uses the same NUMA node to calculate the memory and processor of the virtual machine on the NUMA node,which can effectively ensure the memory access performance of the virtual machine and prevent cross-NUMA node memory access.

    This scheme tests the memory access conditions of cross-NUMA nodes,bound nodes,and memory.For applications with frequent service load jitter, this scheme provides the maximum performance optimization of data and tests the scheduling service bound by the memory and processor,so as to determine the effectiveness of resource protection of the scheduling service.

    The binding method of the virtual machine NUMA node corresponding to the physical machine NUMA node is called node range binding,which corresponds to other two types of binding.The binding method of the virtual machine NUMA node memory corresponding to the physical machine NUMA node memory is called memory strict binding.Moreover,the priority binding mode of the virtual machine NUMA node memory corresponding to the physical machine NUMA node memory is called memory priority binding.These bindings are described in more detail as follows.

    4.1.1 NUMA node range binding and memory strict binding

    On the physical machine,the performance of memory bandwidth access rate of the virtual machine is improved by combining virtual machine node range binding and memory strict binding.The purpose is to test and attain the maximum memory bandwidth access rate,compare it with the maximum memory bandwidth of a non-memory and fixed processor bound virtual machine,then determine the performance optimization baseline data of memory bandwidth access rate.In this test,four test scenarios are set.In brief,Scenario 1 occurs after NUMA optimization,and Scenarios 2-4 simulate the real scenarios that customers may encounter for comparative testing.

    Scenario 1 The memory accessed by the vCPU of virtual machine 1 is bound to nodeset=2,by dividing NUMA nodes.

    Scenario 2 The memory accessed by the vCPU of virtual machine 2 drifts from nodeset=2 to the memory corresponding to nodeset=1.

    Scenario 3 The memory accessed by the vCPU of virtual machine 2 drifts from nodeset=2 to the memory corresponding to nodeset=3.

    Scenario 4 The memory accessed by the vCPU of virtual machine 2 drifts from nodeset=2 to the memory corresponding to nodeset=4.

    The strategy of virtual machine node range binding and memory strict binding ensures that the memory access location of a business virtual machine is local memory and that the occurrence of cross NUMA node memory access is eliminated to improve the memory access performance of the virtual machine.The key test indicators are affected by the following basic principles.

    (1)The virtual machine that binds the processor and memory resources on the same NUMA node has no cross-NUMA node memory access,so the performance should be higher.In this case,it is called local node memory access.

    (2)The virtual machine that binds the processor and memory resources to the neighboring NUMA node does not have memory access across NUMA nodes,so the performance should be normal.In this case,memory access is performed by neighbor node memory access.

    (3)The virtual machine that binds the processor and memory resources to another neighboring NUMA node does not have memory access across NUMA nodes,so the performance should be normal,which is also called neighbor node memory access.

    (4)The virtual machine that binds the processor and memory resources to the remote NUMA node does not have memory access across NUMA nodes,and the performance should be poor.In this case,it is called remote node accesses memory.

    According to the test scenario,the results are described as follows.Memory access promotion rate can be calculated by Eq.(1).

    where,RatePromotionis memory access promotion rate,Speedbindingis node range binding memory access rate,Speednon-bindingis non-node fixed binding memory access rate.

    Fig.8 shows the comparison between Scenario 1 and Scenario 2.After testing,the local node memory access performance of Scenario 1 is better than that of the neighbor node access in Scenario 2,in terms of Copy,Scale,Add,and Triad.In the present study,the memory access bandwidth of Copy increased the most by nearly 40%,followed by Add and Triad with an increase of about 30%,then Scale with the least increase of nearly 20%.

    Fig.8 Memory access comparison between Scenario 1 and Scenario 2

    Fig.9 Memory access comparison between Scenario 1 and Scenario 3

    Fig.9 shows the comparison between Scenario 1 and Scenario 3.The test tool can be used to demonstrate that the local node access performance of Scenario 1 is better than that of the neighbor nodes in Scenario 3,such as Copy,Scale,Add and Triad.The improvement amplitude is basically consistent with the bandwidth comparison of another neighbor node in the above figure,which shows that the memory access of neighbor nodes is consistent.

    Fig.10 compares Scenario 1 and Scenario 4.Using the test tool,it is revealed that the local node access performance of Scenario 1 is better than that of the remote node access of Scenario 4,in terms of Copy,Scale,Add and Triad.The memory access bandwidth of Add and Triad increased the most by more than 120%,followed by Copy and Scale with increases of nearly 100%.

    Fig.10 Memory access comparison between Scenario 1 and Scenario 4

    The test data results further reveal that after optimized processing of NUMA node range binding and memory strict binding,the memory access performance of the neighbor NUMA node improved by more than 30%(for the remote NUMA node,it increased by more than 100%).The scheme is shown to be effective in realistic scenarios,thus a high-performance virtual machine is necessary.

    4.1.2 NUMA node range binding and memory priority-binding

    On the physical machine,the performance of the virtual machine memory bandwidth access rate is improved by using the strategy of virtual machine NUMA node range binding and memory priority binding.The purpose of the test is to determine the maximum value of memory bandwidth access rate,compare it with NUMA node range binding and memory strict binding test results,then identify the difference between memory priority binding performance optimization baseline data and memory strict binding performance optimization baseline data.

    In this test,the same four scenarios as those in subsection 4.1.1 were set,except memory priority binding was used here instead of memory strict binding.

    The virtual machine NUMA node range binding and memory priority binding strategy ensure that the location of the business virtual machine access memory is local memory,avoiding cross NUMA node access memory and improving the memory access performance of the virtual machine.

    According to the test scenario,the results are as follows.Fig.11 shows that,through testing,the performance of local node access in Scenario 1 is better than that of neighbor nodes in Scenario 2.Among the functions,the memory access bandwidth of Copy increased the most by nearly 40%,followed by Add and Triad with increases of about 30%,then Scale with the least increase of nearly 20%.

    Fig.11 Comparison of NUMA node range binding and non-NUMA node fixed binding to nodeset 1

    Fig.12 compares Scenario 1 and Scenario 3 by using the test tool,which indicates that the local node access performance of Scenario 1 is better than that of the neighbor node access of Scenario 3,in terms of Copy,Scale,Add,and Triad.The improvement amplitude is basically consistent with the bandwidth comparison of another neighbor node in the above figure,which shows that the memory access of neighbor nodes is consistent.

    Fig.12 Comparison of NUMA node range binding and non-NUMA node fixed binding to nodeset 3

    Fig.13 shows the comparison between Scenario 1 and Scenario 4,where the local node access performance of Scenario 1 is better than that of the remote node access of Scenario 4,in terms of Copy,Scale,Add,and Triad.Specifically,the memory access bandwidth of Add and Triad increased the most by more than 120%,followed by Copy and Scale with increases of nearly 100%.

    Fig.13 Comparison of NUMA node range binding and non-NUMA node fixed binding to nodeset 4

    The test results indicate that after optimization processing of NUMA node range binding and memory priority binding,the memory access performance of the neighbor NUMA node can be improved by more than 30%(for the remote NUMA node,it can be improved by more than 100%).The scheme is real and effective with no obvious difference in memory access performance between memory priority binding and memory fixed binding.

    Understanding memory and computing performance in multi-core platforms is a prerequisite to perform optimizations.The state-of-the-art methods usually focus on the optimization method of specific scene.The method presented in this paper can be improved by more than 20%compared with the method in specific field in general operation[3].

    4.2 Computing performance verification

    For a virtual machine with one-to-one processor binding,the processor of the virtual machine will not switch,which can effectively ensure the computing performance of the virtual machine and prevent processor switching.

    This test is aimed at processor exclusive binding and employs LMbench,a multi-platform open source benchmark used to evaluate the comprehensive performance of the system,as the test tool.For the application with frequent service load jitter,the maximum performance optimization data after the application of this scheme is provided.

    On the physical machine,the virtual machine NUMA node processor exclusive binding strategy improves the performance of the virtual machine.The purpose is to test and attain the maximum value of the sustainable computing power,compare it with the maximum value of the non-processor exclusive binding virtual machine,then achieve the baseline data of computing performance optimization.In this test,two test scenarios are set.Scenario 1 occurs after NUMA node exclusive binding optimization,Scenario 2 occurs after NUMA node processor range binding optimization,and Scenario 3 simulates the real scenario that customers may encounter for comparative testing.

    Scenario 1 The vCPU of virtual machine 1 is bound to the specific processor with nodeset=1.

    Scenario 2 The vCPU range mode of virtual machine 2 is bound to nodeset=1.

    Scenario 3 The vCPU range of virtual machine 3 is not bound by a nodeset.

    The exclusive binding strategy of the virtual machine NUMA node processor ensures that the location of business virtual machine processor will not switch and will improve the computing performance of the virtual machine.The key indicators of the test are affected by the following principles.

    (1)NUMA node processors exclusively bind the virtual machine with no processor switching,and thus,the performance should be higher.

    (2)For the virtual machine bound by the NUMA node processor range,there is processor switching,and the performance is normal.

    (3)For the virtual machine without fixed binding of the NUMA node processor,there is processor switching,and performance is normal.

    Test results The overhead of context switching is about 2.7-5.48μs.

    Test summary By optimizing the exclusive binding of NUMA nodes,the performance loss of about 2.7-5.48μs per processor switch can be avoided.This is recommended for computing performance sensitive industries,such as big data and AI.

    5 Conclusion

    The main purpose of this work is to introduce the memory and processor optimization of a virtual machine,which is divided into three parts.

    The first part analyses the working principle of NUMA,the memory access performance,and stability of a virtual machine.In Sections 1 and 2,the current processor architecture,the relationship between the memory and processor,the existing form of virtual machines on physical machines,and the problems of virtual machines based on a physical machine architecture are introduced.Finally,the solutions to these existing issues are identified.

    The second part designs a plan for the first part of the problem and provides a detailed elaboration and analysis.The plan mainly includes the resource binding and scheduling strategy of the memory and processor.Section 2 describes the main problems,and in Section 3,the problems are solved in two aspects,process NUMA binding and memory pre-allocation.

    The third part verifies the creation of a virtual machine after optimization,including the impact of the binding strategy on the performance and effectiveness of the scheduling service on resource scheduling and protection.The verification includes two aspects,processor memory access performance and computing performance,which confirms the effectiveness of the solutions mentioned in the second part.

    亚洲欧美精品自产自拍| 色吧在线观看| 最新在线观看一区二区三区| 国产精品国产三级国产av玫瑰| av福利片在线观看| 最近最新中文字幕大全电影3| 亚洲精品影视一区二区三区av| 国产蜜桃级精品一区二区三区| 日本黄色视频三级网站网址| 亚洲在线观看片| 午夜精品在线福利| 色综合站精品国产| 22中文网久久字幕| 国产探花在线观看一区二区| 99久久精品国产国产毛片| 99热网站在线观看| 国产精品久久久久久久电影| 大又大粗又爽又黄少妇毛片口| 日本一二三区视频观看| 亚洲国产欧洲综合997久久,| 欧美日韩综合久久久久久| 真实男女啪啪啪动态图| 免费在线观看成人毛片| 国产精品一及| 波多野结衣高清作品| 日韩欧美一区二区三区在线观看| 国产成人aa在线观看| 波多野结衣高清作品| 国产高潮美女av| 熟妇人妻久久中文字幕3abv| 又黄又爽又刺激的免费视频.| 精品一区二区三区视频在线| 国产高清视频在线观看网站| 午夜福利在线在线| 三级男女做爰猛烈吃奶摸视频| 亚洲美女搞黄在线观看 | 男人和女人高潮做爰伦理| 精品久久久久久久久av| 日韩强制内射视频| 亚洲一区二区三区色噜噜| 国产高清三级在线| 极品教师在线视频| 1024手机看黄色片| 两个人视频免费观看高清| 久久精品国产自在天天线| 老熟妇仑乱视频hdxx| 三级男女做爰猛烈吃奶摸视频| 免费一级毛片在线播放高清视频| 欧洲精品卡2卡3卡4卡5卡区| 国产单亲对白刺激| 一本一本综合久久| 一区二区三区四区激情视频 | 亚洲中文字幕日韩| 一级毛片aaaaaa免费看小| 51国产日韩欧美| 国内揄拍国产精品人妻在线| 在线观看av片永久免费下载| 国产白丝娇喘喷水9色精品| 一级毛片aaaaaa免费看小| 亚洲av电影不卡..在线观看| 亚洲四区av| 亚洲最大成人av| 最新中文字幕久久久久| 日韩一本色道免费dvd| 熟妇人妻久久中文字幕3abv| 亚洲丝袜综合中文字幕| 最近2019中文字幕mv第一页| 天美传媒精品一区二区| 久久精品国产亚洲av香蕉五月| 久久国产乱子免费精品| 亚洲激情五月婷婷啪啪| 波野结衣二区三区在线| 亚洲中文日韩欧美视频| 又黄又爽又刺激的免费视频.| 亚洲国产精品成人久久小说 | 人人妻人人澡欧美一区二区| 国产黄片美女视频| 日日摸夜夜添夜夜添小说| 蜜桃久久精品国产亚洲av| 能在线免费观看的黄片| 毛片一级片免费看久久久久| 欧美性感艳星| 床上黄色一级片| 丰满的人妻完整版| 亚洲一区二区三区色噜噜| 国产伦精品一区二区三区四那| 午夜福利成人在线免费观看| 午夜免费激情av| 床上黄色一级片| 最新中文字幕久久久久| 亚洲精品日韩在线中文字幕 | 国产大屁股一区二区在线视频| 在现免费观看毛片| 性插视频无遮挡在线免费观看| 女生性感内裤真人,穿戴方法视频| 日韩欧美一区二区三区在线观看| 大型黄色视频在线免费观看| 1000部很黄的大片| 欧美日韩一区二区视频在线观看视频在线 | 欧美日韩综合久久久久久| 中文字幕久久专区| 中文字幕人妻熟人妻熟丝袜美| 亚洲美女搞黄在线观看 | 人人妻,人人澡人人爽秒播| 亚洲欧美精品自产自拍| 不卡一级毛片| 身体一侧抽搐| 在线观看66精品国产| 看免费成人av毛片| 日韩成人伦理影院| 可以在线观看毛片的网站| 午夜精品一区二区三区免费看| 国产乱人偷精品视频| 99热这里只有精品一区| 精品日产1卡2卡| 晚上一个人看的免费电影| 成人鲁丝片一二三区免费| 中文字幕精品亚洲无线码一区| 成人av在线播放网站| 别揉我奶头~嗯~啊~动态视频| 男人的好看免费观看在线视频| 男人的好看免费观看在线视频| 国产精品久久视频播放| 丰满乱子伦码专区| 亚洲自偷自拍三级| 国产成人91sexporn| 搡女人真爽免费视频火全软件 | 亚洲激情五月婷婷啪啪| 内射极品少妇av片p| 联通29元200g的流量卡| 国产色爽女视频免费观看| 老女人水多毛片| 别揉我奶头 嗯啊视频| 99久国产av精品| 国产69精品久久久久777片| 人妻少妇偷人精品九色| 男人和女人高潮做爰伦理| 美女cb高潮喷水在线观看| 一区二区三区免费毛片| 日韩精品青青久久久久久| 国内精品一区二区在线观看| 国产伦在线观看视频一区| 国产精品99久久久久久久久| 看黄色毛片网站| 可以在线观看毛片的网站| 可以在线观看毛片的网站| 在线国产一区二区在线| 赤兔流量卡办理| a级一级毛片免费在线观看| 成人欧美大片| 精品久久久久久久人妻蜜臀av| 天堂av国产一区二区熟女人妻| 91狼人影院| 亚洲国产日韩欧美精品在线观看| 午夜精品一区二区三区免费看| 亚洲av成人精品一区久久| 又黄又爽又刺激的免费视频.| 天堂网av新在线| 免费一级毛片在线播放高清视频| 国产伦精品一区二区三区四那| 在线国产一区二区在线| 啦啦啦观看免费观看视频高清| 精品久久久久久久久久免费视频| 日韩大尺度精品在线看网址| 乱码一卡2卡4卡精品| 久久久久久久亚洲中文字幕| 一级毛片aaaaaa免费看小| 99久久精品一区二区三区| 99久久精品一区二区三区| 成人综合一区亚洲| 青春草视频在线免费观看| 波多野结衣巨乳人妻| 国产精品不卡视频一区二区| 国产精品野战在线观看| 午夜久久久久精精品| 亚洲欧美日韩高清在线视频| 99久久精品一区二区三区| 在线播放无遮挡| 天堂av国产一区二区熟女人妻| 久久精品国产亚洲网站| 99热这里只有是精品在线观看| 麻豆成人午夜福利视频| 少妇裸体淫交视频免费看高清| 久久久久久久午夜电影| 一区福利在线观看| 亚洲av.av天堂| 日本精品一区二区三区蜜桃| a级毛片免费高清观看在线播放| av在线天堂中文字幕| 嫩草影院入口| 久久九九热精品免费| 午夜激情欧美在线| 精品日产1卡2卡| 乱码一卡2卡4卡精品| 99久久精品一区二区三区| 国产伦在线观看视频一区| 人人妻人人澡人人爽人人夜夜 | 日本一二三区视频观看| 亚洲五月天丁香| 亚洲av熟女| 夜夜爽天天搞| 久久午夜亚洲精品久久| 国产精品一区www在线观看| 最近的中文字幕免费完整| 国产亚洲欧美98| 久久久久性生活片| 蜜桃亚洲精品一区二区三区| 亚洲欧美精品综合久久99| 欧美极品一区二区三区四区| 成年av动漫网址| 人人妻人人看人人澡| 中国美白少妇内射xxxbb| 亚洲最大成人中文| 高清午夜精品一区二区三区 | 欧洲精品卡2卡3卡4卡5卡区| 久久人人爽人人片av| 51国产日韩欧美| 亚洲在线自拍视频| 人妻丰满熟妇av一区二区三区| 免费观看精品视频网站| 欧美潮喷喷水| 欧美日韩国产亚洲二区| 成年版毛片免费区| 午夜福利在线观看免费完整高清在 | 性欧美人与动物交配| 色av中文字幕| 精品人妻一区二区三区麻豆 | 婷婷亚洲欧美| 欧美区成人在线视频| 精品一区二区三区人妻视频| 三级国产精品欧美在线观看| 亚洲激情五月婷婷啪啪| 热99在线观看视频| 长腿黑丝高跟| 日韩欧美免费精品| 午夜福利视频1000在线观看| 18禁在线无遮挡免费观看视频 | 成人美女网站在线观看视频| 天堂网av新在线| 美女高潮的动态| 99久久久亚洲精品蜜臀av| 日本熟妇午夜| 成年版毛片免费区| 国产av不卡久久| 一级a爱片免费观看的视频| 精品久久久久久久久亚洲| 久久精品夜夜夜夜夜久久蜜豆| 97超视频在线观看视频| 中国国产av一级| 99riav亚洲国产免费| 精品欧美国产一区二区三| 麻豆乱淫一区二区| 校园春色视频在线观看| 亚洲丝袜综合中文字幕| 搡老熟女国产l中国老女人| 看免费成人av毛片| 免费av观看视频| 真人做人爱边吃奶动态| 亚洲经典国产精华液单| 三级国产精品欧美在线观看| 无遮挡黄片免费观看| 国产精品一及| 乱人视频在线观看| 两个人视频免费观看高清| 最近手机中文字幕大全| 国产视频内射| 色尼玛亚洲综合影院| 国内精品久久久久精免费| 日日摸夜夜添夜夜添av毛片| 免费av不卡在线播放| 国内少妇人妻偷人精品xxx网站| 免费看a级黄色片| 国产精品一及| 免费搜索国产男女视频| 国产精品一区www在线观看| 色av中文字幕| 久久久欧美国产精品| 亚洲人成网站在线播放欧美日韩| 日韩精品青青久久久久久| 久久这里只有精品中国| 综合色av麻豆| 亚洲精品影视一区二区三区av| 可以在线观看的亚洲视频| 亚洲不卡免费看| 日韩欧美在线乱码| 在线观看66精品国产| 日韩精品青青久久久久久| 色综合亚洲欧美另类图片| 国产欧美日韩精品亚洲av| 欧美zozozo另类| 最近2019中文字幕mv第一页| 国产久久久一区二区三区| 国产伦在线观看视频一区| 国产成人精品久久久久久| 国产午夜精品久久久久久一区二区三区 | 日韩在线高清观看一区二区三区| 变态另类成人亚洲欧美熟女| 国产 一区精品| 九色成人免费人妻av| 欧美成人一区二区免费高清观看| 日本撒尿小便嘘嘘汇集6| 一本精品99久久精品77| 国产成人freesex在线 | 久久久久久大精品| 免费观看的影片在线观看| 色视频www国产| 亚洲人成网站高清观看| 一个人看视频在线观看www免费| 国产午夜福利久久久久久| 亚洲综合色惰| 亚洲性夜色夜夜综合| 给我免费播放毛片高清在线观看| 国产精品伦人一区二区| 国产色婷婷99| 一级黄色大片毛片| 国产精品福利在线免费观看| 亚洲熟妇熟女久久| 18禁在线无遮挡免费观看视频 | 此物有八面人人有两片| 国产一区亚洲一区在线观看| 免费观看的影片在线观看| 精品日产1卡2卡| 赤兔流量卡办理| 三级国产精品欧美在线观看| 精品一区二区免费观看| 最近中文字幕高清免费大全6| 在线看三级毛片| 国内精品久久久久精免费| 亚洲专区国产一区二区| 精华霜和精华液先用哪个| 久久久久久大精品| 一本久久中文字幕| 人妻久久中文字幕网| 国产成人一区二区在线| 国产高清视频在线播放一区| 黄片wwwwww| 久久久久久久午夜电影| 国内精品宾馆在线| 亚洲精品乱码久久久v下载方式| 91在线观看av| 91久久精品电影网| 国产成人91sexporn| 国产高清有码在线观看视频| 国产一区二区亚洲精品在线观看| 18禁裸乳无遮挡免费网站照片| 欧美成人精品欧美一级黄| 亚洲性久久影院| av天堂在线播放| 国产高清激情床上av| 亚洲最大成人av| 国产黄色视频一区二区在线观看 | 欧美日韩综合久久久久久| 日韩精品青青久久久久久| 香蕉av资源在线| 99九九线精品视频在线观看视频| 亚洲国产色片| 久久久久精品国产欧美久久久| 国产探花极品一区二区| 日韩精品青青久久久久久| 国产伦精品一区二区三区视频9| 99在线人妻在线中文字幕| 亚洲aⅴ乱码一区二区在线播放| 免费在线观看成人毛片| 日韩大尺度精品在线看网址| 亚洲国产精品合色在线| 亚洲精品日韩在线中文字幕 | 国产精品1区2区在线观看.| 99国产极品粉嫩在线观看| 国产精品人妻久久久影院| 卡戴珊不雅视频在线播放| 狂野欧美白嫩少妇大欣赏| 亚洲欧美日韩高清在线视频| 变态另类成人亚洲欧美熟女| 亚洲美女黄片视频| 国产一区二区激情短视频| av女优亚洲男人天堂| 国产探花在线观看一区二区| 嫩草影视91久久| 男女边吃奶边做爰视频| 精品欧美国产一区二区三| 午夜久久久久精精品| 亚洲成人av在线免费| 国产蜜桃级精品一区二区三区| 91久久精品国产一区二区成人| 成人鲁丝片一二三区免费| 天堂av国产一区二区熟女人妻| 91久久精品电影网| 国产国拍精品亚洲av在线观看| 99久久精品国产国产毛片| 一卡2卡三卡四卡精品乱码亚洲| 天天一区二区日本电影三级| av中文乱码字幕在线| 日本爱情动作片www.在线观看 | 免费无遮挡裸体视频| 欧美日韩精品成人综合77777| 一区二区三区四区激情视频 | 国产成人影院久久av| 亚洲国产精品国产精品| 亚洲av二区三区四区| 菩萨蛮人人尽说江南好唐韦庄 | 高清毛片免费观看视频网站| 极品教师在线视频| 天堂网av新在线| 欧美日韩一区二区视频在线观看视频在线 | 日韩欧美在线乱码| 国产熟女欧美一区二区| 久久中文看片网| 欧美成人a在线观看| 免费黄网站久久成人精品| 中文亚洲av片在线观看爽| 亚洲av.av天堂| 久久九九热精品免费| 乱码一卡2卡4卡精品| 婷婷精品国产亚洲av| 久久亚洲精品不卡| 一区二区三区免费毛片| 国产91av在线免费观看| 国产视频一区二区在线看| 高清日韩中文字幕在线| 97热精品久久久久久| 欧美成人精品欧美一级黄| 精品少妇黑人巨大在线播放 | 亚洲精品久久国产高清桃花| 日本一本二区三区精品| 亚洲电影在线观看av| 天堂√8在线中文| 91久久精品国产一区二区成人| 精品久久久久久成人av| 内地一区二区视频在线| 久久久久国产网址| 精品久久久久久久久亚洲| 国产高清有码在线观看视频| 女人被狂操c到高潮| av天堂中文字幕网| 久久久久久久久大av| 欧美xxxx黑人xx丫x性爽| 亚洲精品乱码久久久v下载方式| 国产亚洲精品久久久久久毛片| av免费在线看不卡| 春色校园在线视频观看| 淫妇啪啪啪对白视频| 免费在线观看影片大全网站| 国产不卡一卡二| 两个人视频免费观看高清| 一级av片app| 国产毛片a区久久久久| www日本黄色视频网| 久久天躁狠狠躁夜夜2o2o| 老师上课跳d突然被开到最大视频| 国产熟女欧美一区二区| 女生性感内裤真人,穿戴方法视频| 能在线免费观看的黄片| 久久久久久久久久成人| 男人舔女人下体高潮全视频| 亚洲婷婷狠狠爱综合网| 亚洲久久久久久中文字幕| 熟女电影av网| 亚洲av成人av| 久久99热6这里只有精品| 色综合色国产| 高清日韩中文字幕在线| 在线免费十八禁| 看片在线看免费视频| 少妇人妻一区二区三区视频| 男人的好看免费观看在线视频| 国产欧美日韩精品一区二区| av在线观看视频网站免费| av在线播放精品| 蜜桃久久精品国产亚洲av| 寂寞人妻少妇视频99o| 舔av片在线| 99热这里只有精品一区| 九九在线视频观看精品| 麻豆国产97在线/欧美| 欧美成人免费av一区二区三区| 亚洲专区国产一区二区| 精品久久久久久久久av| 人妻久久中文字幕网| 色哟哟哟哟哟哟| 亚洲av第一区精品v没综合| 久久久久久久久久久丰满| 久久精品人妻少妇| 久久6这里有精品| 99久久精品一区二区三区| 欧美bdsm另类| 亚洲欧美日韩高清专用| 欧美日韩国产亚洲二区| 国产精品一及| 少妇人妻精品综合一区二区 | 91久久精品国产一区二区三区| 最近2019中文字幕mv第一页| 内射极品少妇av片p| 免费电影在线观看免费观看| 非洲黑人性xxxx精品又粗又长| 看免费成人av毛片| 国产av不卡久久| 校园春色视频在线观看| 色哟哟哟哟哟哟| 亚洲aⅴ乱码一区二区在线播放| 老女人水多毛片| 欧美一区二区精品小视频在线| 99国产精品一区二区蜜桃av| 国产精品野战在线观看| 看非洲黑人一级黄片| 久久午夜亚洲精品久久| 内射极品少妇av片p| 天堂√8在线中文| 一级黄片播放器| 高清午夜精品一区二区三区 | 亚洲av二区三区四区| 欧美日韩一区二区视频在线观看视频在线 | 在线观看av片永久免费下载| 亚洲国产欧洲综合997久久,| 狂野欧美白嫩少妇大欣赏| 91狼人影院| 色吧在线观看| 亚洲一区高清亚洲精品| 身体一侧抽搐| 亚洲欧美日韩卡通动漫| 大又大粗又爽又黄少妇毛片口| 国产不卡一卡二| 国产精华一区二区三区| 特级一级黄色大片| 免费电影在线观看免费观看| 夜夜夜夜夜久久久久| 一级黄色大片毛片| 久久久久久大精品| 日本三级黄在线观看| 一进一出抽搐gif免费好疼| 少妇裸体淫交视频免费看高清| 亚洲欧美日韩高清在线视频| 国产不卡一卡二| 热99re8久久精品国产| 亚洲人成网站在线播放欧美日韩| 成人漫画全彩无遮挡| 美女被艹到高潮喷水动态| 日韩三级伦理在线观看| 亚洲成a人片在线一区二区| 国产一级毛片七仙女欲春2| 岛国在线免费视频观看| 成人一区二区视频在线观看| 男女做爰动态图高潮gif福利片| 国产美女午夜福利| av天堂中文字幕网| 69av精品久久久久久| 97超碰精品成人国产| 久久久久久久久久黄片| 免费黄网站久久成人精品| 免费看a级黄色片| 人妻少妇偷人精品九色| 国产熟女欧美一区二区| 毛片一级片免费看久久久久| 中文资源天堂在线| 国国产精品蜜臀av免费| 亚洲国产精品国产精品| eeuss影院久久| 亚洲一区高清亚洲精品| av中文乱码字幕在线| 亚洲国产精品成人久久小说 | 最近最新中文字幕大全电影3| 久久人人精品亚洲av| 国产中年淑女户外野战色| 麻豆久久精品国产亚洲av| 插阴视频在线观看视频| 成人永久免费在线观看视频| a级毛片免费高清观看在线播放| 亚洲在线自拍视频| 热99在线观看视频| 又爽又黄无遮挡网站| 日韩一区二区视频免费看| 久久久久久久久久黄片| 直男gayav资源| 日韩中字成人| 久久久久性生活片| 国产乱人视频| 国产麻豆成人av免费视频| 午夜福利高清视频| 一本久久中文字幕| 欧美最新免费一区二区三区| av在线播放精品| 欧美高清成人免费视频www| 色哟哟·www| 日本一本二区三区精品| 热99在线观看视频| 欧美另类亚洲清纯唯美| 久久人人精品亚洲av| 熟女人妻精品中文字幕| 大型黄色视频在线免费观看| 国产精品嫩草影院av在线观看| 国产熟女欧美一区二区| 最近手机中文字幕大全| 国语自产精品视频在线第100页| 69人妻影院| 伊人久久精品亚洲午夜| 午夜亚洲福利在线播放| 搡老熟女国产l中国老女人| 偷拍熟女少妇极品色| 看黄色毛片网站| 日本免费a在线| 成年版毛片免费区| 18禁裸乳无遮挡免费网站照片| 欧美三级亚洲精品| 成人性生交大片免费视频hd| 亚洲激情五月婷婷啪啪| 国产69精品久久久久777片| 国产 一区精品| 色av中文字幕| 国产精品一及| 美女被艹到高潮喷水动态| 听说在线观看完整版免费高清| 久久久久久久久久成人| 卡戴珊不雅视频在线播放| 欧美日韩综合久久久久久| 精品一区二区三区视频在线| 91午夜精品亚洲一区二区三区|