A mixed approach towards improving software performance of Compute Unified Device Architecture applications.
One of the most important aspects when developing applications that leverage the powerful parallel processing power of graphics processing units (GPUs) that offer support for the Compute Unified Device Architecture (CUDA) is to divide the tasks that are to be processed appropriately into sections that can be processed either serially or in parallel. The paper analyses this important developing issue by proposing a mixed approach to programming efficient software applications. The article makes an in depth analysis of the key aspects that carry significant weight when deciding to parallelize a certain part of an application: the analysis phase of the application that is about to be parallelized; the amount of time involved to achieve the implementation; the feasibility of parallelizing the source code; situations when one should aim for central processing units optimization techniques that yield better performance on sequential source code rather than parallelizing the whole algorithm.
KEYWORDS: mixed approach, software performance, CUDA, Parallel Nsight, CUDA Profiler.
In recent years, there has been a great interest in the literature for developing optimization solutions using the parallel processing power of graphics processing units , , . The optimization of data processing is a field of great interest due to its numerous applications: in developing intelligent systems , , in cryptography , in developing office applications , in electronic payment systems , , in developing web applications , .
The Compute Unified Device Architecture, implemented in the latest graphics processing units, offers developers the opportunity to use an extension to the traditional C language that makes it possible to write the source code in the familiar C programming language. When developing a CUDA application, the programmer must write source code for both the central processing unit (host) and for the graphics processing unit (device).
The central processing unit (CPU) calls a large number of kernel functions on the device that will use its internal task scheduler to establish the most suitable strategy of allocating the functions (kernels). As long as there is a sufficient amount of parallelism in the task that is being processed, the processing time of the program should improve as the number of graphics processing unit's Streaming Multiprocessors (SMs) increases.
The performance improvement of a CUDA software application should take into consideration a series of optimization aspects, such as: dividing the tasks appropriately into sections that can be afterwards processed either serially or in parallel; an appropriate managing of the graphics processing units' memory and their associated data transfers between the device (GPU) and the host (CPU); understanding in detail the CUDA threading mechanism and the hardware's computational capability, that determines the GPU's processing features; having an insight of the ready-optimized algorithms; identifying the weak points that hold down the performance of the application, their causes and solutions for minimizing their impact; having in mind to always develop reusable and scalable code, that can be easily maintained and upgraded to support future versions of the GPUs.
The first of the above mentioned optimization aspects, dividing the tasks appropriately into sections that can be afterwards processed either serially or in parallel, is essential and its analysis as a software performance improvement method represents the purpose of this paper. Therefore, in the following it is analyzed a mixed approach in order to optimize software applications by means of parallelization in the Compute Unified Device Architecture.
In this paper it has been made an in depth analysis of the key aspects that carry significant weight when deciding to parallelize a certain part of an application: the analysis phase of the application that is about to be parallelized; the amount of time involved to achieve the implementation; the feasibility of parallelizing the source code; situations when one should aim for central processing units optimization techniques that yield better performance on sequential source code rather than parallelizing the whole algorithm.
The first thing one should have in mind when improving the software performance of an application by means of parallelization in CUDA, is how much of the code is suitable to be processed in parallel. The quantity of source code that can be processed solely sequentially limits the improvement in software performance that can be achieved by parallelization.
For that reason, the first thing that the developer must do, is to take into consideration whether there is a sufficiently great number of tasks that can benefit from the parallelization process, so he must be certain that parallelization is indeed the best solution. Of central importance for the developer is to identify if the problem he wants to solve can be divided into more parts that can be processed in parallel.
If there is no way to expose concurrency by dividing the task into several ones, the developer should instead focus on central processing units optimization techniques that yield better performance on sequential source code rather than parallelizing the whole algorithm. There are many optimization techniques that, after having been applied, make the sequential code perform in a satisfactory way. The graphics processing units can invoke thousands of threads, so if one wants to benefit the most from the huge parallel processing power of the CUDA GPUs, he should be able to divide the task into thousands of simultaneously ones.
One should always begin to analyze initially the data and afterwards the tasks that must be processed. One should always have in mind the final obtained data set and reflect whether there exist one or more transformation rules that represent the output data in a certain point through the input one, in the same point. In the case in which such transformation is possible, it is feasible to parallelize the problem, using the CUDA architecture. The programmer must correctly identify the approach that is most suitable for optimizing his application: a whole sequential approach, an exclusive parallel approach or a mix between the sequential and the parallel approaches. For most of the problems, a parallelization solution that produces the best results can be identified and applied. The problem actually lies in the fact that many developers are accustomed to single-threaded applications and they fail to seek and identify the possibility of parallelizing the source code.
There are certain situations in which the sequential approach is entirely unpractical, like the H264 video encoding . Regarding this problem, it comprises a number of stages and each of them produces an output data stream varying in length. Every destination pixel depends on n of the source pixels. A various number of scientific problems exert the same particularities. There are some situations when the input data set is huge and a pre-filtering might be applied to it. As a result, those data points whose impact on the output data is small, are removed from the data set. This process will indeed lead to a small increase of error, but in certain cases the advantages outweigh the disadvantages, as long as the final error stays below a threshold.
Up till now, the optimization process focused solely on the operations that were being applied to the data. Nowadays, the focus is on the data, as the processing power of GPUs has grown dramatically in contrast with the memory bandwidth. In order to efficiently use the memory bandwidth of the graphics processing unit that is up to 10 times the one of the central processing unit, one must properly divide the problem, as to make use of the increased bandwidth.
Particular attention must be payed when dividing the data to more graphics processing units linked together, as the traffic between the different graphics processing units will have a negative impact on the computation cycles therefore affecting the total processing time of the application. Consequently, this penalty must be minimized and compensated through the computational volume and processing power.
There are situations when the current computation needs the output of a previous one, thus arising a dependency problem when a certain variable cannot be computed without knowing beforehand the value of another variable, or a value from a previous step. In some cases, for computing the value of one variable one needs the output resulting from computing one or several variables, while in other cases the result of a computation from a previous step is needed in order to perform the current step. This dependency problem impedes the possibility of parallelizing the application or a certain step of an algorithm. In this situation, it is only the current step that can be the parallelized.
In Figure 1 is presented an example of dependency situations that may occur within a kernel function. Thus, in this case, the value of the x and y variables cannot be computed without knowing the value of the z variable, so one can say that x and y depend on the variable z. After having computed the value of the variable z, one can parallelize the computation of x and y.
One can also remark that the variable t depends on the variables x and y. Therefore, the value of the variable t cannot be computed without knowing the values of the before mentioned variables. The computation of this variable cannot be parallelized with the computation of x and y, it must be executed in a subsequent step.
In the above mentioned example, parallelism cannot be employed efficiently and both the central processing unit and the graphics processing unit use multiple threads to compensate for this drawback.
In what concerns the central processing units that support the hyperthreading feature, there can be employed other virtual central processing unit cores to compensate for the idle time. The central processing unit must manage precisely the allocation of the instructions to different threads. The graphics processing unit makes use of multiple threads that are switched alternatively, at different moments of time, as to compensate most or even the whole latency that has been induced by the needed computations.
One solution to facilitate the parallel execution of the above mentioned kernel code is to use an overlapping independent instructions technique . In this case, one can insert new variables and several independent instructions between the computations, thus granting the computations an additional time to compute before obtaining the output, but this additional time will be compensated by being able to process in parallel the independent instructions that contain intermediary results of the variable.
Practically, this technique compensates the latency resulting from the arithmetic computations, by means of instructions level parallelism. This mechanism makes it possible for the compiler or for the processing unit not only to overlap the processing of a set of computation instructions, but also to modify the instructions' execution order.
Another method used for solving dependency issues is the loop fusion technique. As one can see in Figure 2, the number of steps necessary to compute the kernel function compute_1 exceeds the number of steps necessary for the kernel function compute_2. If we analyze the kernels closely we can notice that a considerable part of the first loop's iterations from the kernel function compute_1 overlaps the iterations of the second loop of the same kernel.
As a consequence, one can allocate the part of iterations that overlap to the first loop of the kernel, thus obtaining the optimized version compute_2 kernel (Figure 2), therefore introducing independent instructions while obtaining a decrease in the overall number of loop iterations, consequently cutting down the number of instructions that have to be computed.
When performing the computation on a last generation graphics processing unit, one can obtain a higher increase of performance by unrolling the two loops and allocating the individual computations to different threads thus using only a kernel. A possible solution consists in allocating two blocks of threads, the first block containing a number of execution threads equal with the number of iterations of the first loop while the second block contains a number of threads equal with the number of iterations of the second loop.
However, this approach can sometimes pose problems due to a decrease in the total amount of parallelism exposed to the scheduling process of blocks and threads. If the level of parallelism in an application is minor, the execution time will suffer a penalty due to this approach. Moreover, the kernels spend more registry memory when they are fused, therefore the number of possible blocks that can be invoked will be reduced.
One must take into account practical situations that arise when developing production applications in which more passes are needed to solve the problem. In order to achieve more passes, one needs to implement several sequential calls to the same kernel. If after every iteration the kernel needs to access the global data for storing and retrieving the data, the whole software performance of the application will suffer due to the high latency of this type of memory.
One solution consists in refitting the data allocated to each of the kernel functions, reducing the amount of processed data to an extent where it is possible to use shared and registry memory types that offer considerable faster access times that will improve substantially the overall software application performance.
When developing a software application, one must take into account the available memory resources, the different types of memory with their associated characteristics and the dimension of the data that the application must process. According to , the requirements of a central processing unit are different from those of a graphics processing unit as it is depicted in Table 1.
If the data set has a small dimension, one can increase the processing speed on the central processing unit by using a CPU that has more cores. In this case, the increase of the processing speed overpasses a linear trend due to the fact that every core of the processor has a reduced amount of tasks to process. If the new amount of data that is smaller in dimension is processed in the L2 cache memory instead of the L3 cache memory, one can obtain a dramatic increase in performance because of the increased bandwidth that this type of memory offers. If one used the L1 cache instead of the L2 cache memory, the impact on performance would be even greater.
In the GPUs case, the most important aspect relies in the quantity of data that can be stored on a single card. Copying data between the host and the device consumes a lot of resources and affects the overall performance of the application. There are some graphic processing units that allow to copy the data to and from the device simultaneously, but in order to achieve this one must make use of the pinned memory feature. This type of memory cannot be substituted by the system's virtual memory, so one has to use the Dynamic Random-Access Memory of the system.
Nowadays most of the motherboards support at least two CUDA-enabled graphics processing units and a maximum of four cards, using the Scalable Link Interface (SLI) mode. If the requirements of a problem that must be solved involves a huge dataset, that cannot be stored in a single computer, one has to use the internode communication concept. Unfortunately, this implies a huge time penalty and advanced knowledge of different application programming interfaces.
When analyzing parallel architectures, a lot of the scientific papers refer to the Amdahl's law that is useful to forecast, from the theoretical point of view, the speedup that might be obtained if one uses more processing units.
From the equation (1) one can easily deduce that S(s) (as p/s [greater than or equal to] 0). Furthermore, [MATHEMATICAL EXPRESSION NOT REPRODUCIBLE IN ASCII]. Analyzing these results, one can conclude that the improvement in the execution performance of the entire task, from the theoretical point of view, raises along with the enhancement of the system's available resources, but no matter how much the resources are enhanced, the improvement is in every situation impeded by the part of the task that has not improved after the upgrade.
In particular, in parallel computing, it is considered a case in which the execution of a software application requires 48 hours on a central processing unit that incorporates only one processing core. It is presumed that a certain part of the entire task (whose execution takes 8 hours) cannot benefit from a potential enhancement of the system's available resources (it is impossible to be executed in parallel), while for the remaining p = 83% of the entire task (whose execution takes initially the remaining 40 hours), the execution can be parallelized, being improved along with the system's available resources.
Applying the above mentioned theoretical results, one can state that no matter how much the resources are enhanced, the execution time cannot go beyond the threshold of 8 hours. The speedup of processing a whole task, from the theoretical point of view, S(s) is always lower than or equal to 1/1-p=5.88, meaning that the maximum improvement in the execution time that can be achieved due to the parallelization of the algorithm is 5.88 times. Therefore, improving the software performance only by means of parallelization has certain limits and a mixed approach should be employed that targets both the parallel and the sequential aspects of optimization.
In order to acknowledge the deficiency points of an application, one must make use of the profiling process. Without applying this process, developers may find themselves in the situation that, after having spent a tremendous amount of time to fix a certain drawback they had thought was crucial in the application, they do not achieve the desired results. The development of a complex application usually implies more teams of professional programmers that are working together on different parts of the application. It is entirely possible that one programmer could think that he has identified a serious drawback in the application only to realize later that it was not the case.
Therefore, it is very important to use specific profiling tools like those offered by the NVIDIA Company: the CUDA Profiler and the Parallel Nsight that provide a detailed and comprehensible profiling analysis of a developed application. These tools are identifying and analyzing the hardware counters, the deficiency points where processing time is wasted and determine the total utilization of the graphics processing unit's resources. Using the CUDA Memcheck tool, one can efficiently check if the memory bandwidth is being used efficiently.
The CUDA Toolkit version 7.5 brings a very useful new feature to the NVIDIA Visual Profiler, namely the ILP (Instruction-Level Profiling) support. This option can be used on graphics processing units from the Maxwell and Pascal architectures and makes it easier to identify drawbacks in the source code, to identify performance related issues. One can even isolate certain lines from the source code along with assembly instructions that can affect the performance negatively. The latest version of Visual Profiler can also generate a pie chart that depicts the warp state distribution (Figure 3).
When profiling an application one should pay particular attention at the part where the source code consumes most of the total processing time. After all the problems signaled by the profiling process have been resolved, dramatic improvements in the performance of the application cannot be achieved unless the whole application is redesigned from scratch.
Regarding this aspect, the Parallel Nsight tool from NVIDIA offers the possibility to run several testing scenarios, in order to identify important information in the source code, like: identifying the divergent threads or the code branches; important statistics regarding the use of the different types of memory, like the cache memory and the obtained bandwidth in different types of memory; statistics regarding the main reasons for stalling; the efficiency in issuing instructions; the attained FLoating-point Operations Per Second (FLOPS) (1).
The applications that offer the best performance per Watt are the ones that are developed based on a mixed approach: benefitting from the strong points of both the central processing unit and the graphics processing one, allocating the data appropriately. The central processing unit must not be ignored even if one transfers most of the computational burden to the graphics processing unit.
When developing production applications, other restrictions might come into play, such as the network, the input/output bandwidth of the system. Nowadays, computers have a lot of memory available, thus most of the input/output operations are cached. As a consequence, these operations target to a great extent the movement of data in the memory rather than its movement between different devices. It is also possible to instantiate a different graphics processing unit context using idle central processing units' resources. The newly created kernel functions are inserted in the waiting queue of the graphics processing unit and are about to be executed when the necessary resources are available.
One must take into account that there is a great amount of idle time both on the central processing unit and on the graphics processing one. According to , the idle time of the CPU is usually cheaper, while the idle time of the GPU is up to 10 times more valuable compared to the one of the CPU. The Parallel Nsight tool from NVIDIA has the possibility to generate a special timeline graphic that will depict the amount of idle time and which kernel functions have generated it. When programmers invoke more kernels on a distinct graphics processing unit, the kernels will occupy the idle resources. As a consequence, the initial kernels that were invoked have a slightly increased latency than the others, but the global performance of the software application increases significantly.
There are many software applications in which a margin of 25%-30% idle time is completely acceptable. Usually, a software application starts by loading the data from a data source that operates or is designated to operate at low speeds. Once loaded, the data is transferred to the graphics processing unit waiting to be processed. After it has been processed by the CUDA cores, the results are copied back to the central processing unit, which usually stores it to the initial low speed data source and loads the following data block that is to be processed, the process thus continues until all the data blocks have been processed.
By using CUDA streams, the graphics processing unit can be programmed to load the following block of data from the low speed data source while the current one is being processed. The whole process is achieved by instantiating several processes: the low speed data source halts the second process while loading the data from the first one. While the first process is working on the first block of data, the second one accesses the low speed data source and loads the second block of data, waiting afterwards idle to be invoked after the first process has finalized the processing. While the first process copies the results to the host, the second process begins executing the kernel function. This technique of using CUDA streams and multiple processes makes it possible to efficiently extend over the processing times of the host and the device in a manner that covers partly some of the idle times.
Another method for accomplishing a similar outcome consists in the use of CPU threads in order to make available a certain portion of data jointly with other processes, thus achieving the synchronization process at a higher speed. A technique called processor affinity (central processing unit pinning) allows a certain thread belonging to a core to be linked only to that particular core. This technique can frequently increase the processing performance as it gives the opportunity to reuse more efficiently the available cache memory of the respective core. The decision to put into practice this approach must be weighed against the required level of synchronization that a programmer wants to achieve on the central processing unit.
When tailoring the mixed approach, the aspect of paramount importance is given by the manner in which the tasks are divided between the host and the device. If the data set is thinly dispersed or scattered or it has a very reduced size, the central processing unit offers the best solution as such data sets types are best processed sequentially. Nonetheless, as the graphics processing unit offers a huge amount of processing power, the developer must pay particular attention not to keep the graphics processing unit idle when programming the application, waiting for the CPU to finish its processing.
A common method is to make use of the central processing unit only in the transfer part of the tasks. This approach however can sometimes have the drawback of oversaturating a single central processing unit's core, so the programmer must profile the application carefully and identify how much time the graphics processing unit really needs to perform its tasks , . A successful technique that provides very good results consists in using the central processing unit in the last steps of an algorithm's computation when the level of parallelism has decreased dramatically and the workload is not sufficient for the GPU to harness its huge parallel processing power.
Dividing the tasks that are to be processed appropriately into segments that are suitable for parallel processing and segments that are better processed serially is the key to obtaining a high level of performance when developing CUDA Applications. This paper proposes the use of a mixed approach that does not neglect the role of the central processing unit nor the one of the graphics processing one. The mixed approach is fundamental if a programmer is to obtain a powerful software application from the performance and efficiency point of view.
When implementing the mixed approach, the developer must carefully divide the data and tasks in view of parallel processing on the Compute Unified Device Architecture enabled graphics processing units and in view of sequential processing on the central processing ones. The programmer must be aware of any dependency problems that may arise within the source code and solve them promptly without neglecting the total amount of time that is needed in order to comply with the project's timeframe.
The developing of the application must take into account the available technical options of managing appropriately the dataset's dimension on both the host and the device and the identification of certain deficiencies in data processing using specialized profiling tools like the CUDA Profiler and the Parallel Nsight. After having taken into account thoroughly the analyzed technical aspects, the mixed approach can be successfully implemented and will lead to significant improvements to both the software performance of the application and its economic efficiency.
This paper presents results of the research project: Intelligent system for predicting, analyzing and monitoring performance indicators and business processes in the field of renewable energies (SIPAMER), research project, PNII--Collaborative Projects, PCCA 2013, code 0996, no. 49/2014 funded by NASR.
 Lungu Ion, Pirjan Alexandru, Petrosanu Dana-Mihaela, Optimizing the Computation of Eigenvalues Using Graphics Processing Units, University Politehnica of Bucharest, Scientific Bulletin, Series A, Applied Mathematics and Physics, Vol. 74, Number 3/2012, pp.21-36, ISSN 1223-7027.
 Pirjan Alexandru, Optimization Techniques for Data Sorting Algorithms, The 22nd International DAAAM Symposium, Annals of DAAAM for 2011 & Proceedings of the 22nd International DAAAM Symposium, Vienna, 2011, pp. 1065-1066, ISSN 1726-9679, ISBN 978-3-901509-73-5.
 Petrosanu Dana-Mihaela, Pirjan Alexandru, Economic considerations regarding the opportunity of optimizing data processing using graphics processing units, JISOM, Vol. 6, Nr. 1/2012, pp. 204-215, ISSN 1843-4711.
 Lungu Ion, Carutasu George, Pirjan Alexandru, Oprea Simona-Vasilica, Bara Adela, A Two-step Forecasting Solution and Upscaling Technique for Small Size Wind Farms located in Hilly Areas of Romania, Studies in Informatics and Control, Vol. 25, No. 1/2016, pp. 77-86, ISSN 1220-1766.
 Lungu Ion, Bara Adela, Carutasu George, Pirjan Alexandru, Oprea Simona-Vasilica, Prediction intelligent system in the field of renewable energies through neural networks, Journal of Economic Computation and Economic Cybernetics Studies and Research, Vol. 50, No. 1/2016, pp. 85-102, ISSN online 1842-3264, ISSN print 0424-267X.
 Tabusca Alexandru, A new security solution implemented by the use of the multilayered structural data sectors switching algorithm (MSDSSA), JISOM, Vol.4, No.2--December 2010, ISSN 1843-4711, Universitary Publishing House, pages 164-168.
 Pirjan Alexandru, Petrosanu Dana-Mihaela, Solutions for developing and extending rich graphical user interfaces for Office applications, JISOM, Vol. 9, Nr. 1/2015, pp. 157-167, ISSN 1843-4711.
 Pirjan Alexandru, Petrosanu Dana-Mihaela, Dematerialized Monies--New Means of Payment, Romanian Economic and Business Review, Vol. 3 Nr. 2/2008, pp. 37-48, ISSN 1842 - 2497.
 Pirjan Alexandru, Petrosanu Dana-Mihaela, A Comparison of the Most Popular Electronic Micropayment Systems, Romanian Economic and Business Review, Vol. 3, Nr. 4/2008, pp. 97-110, ISSN 1842-2497.
 Tabusca Alexandru, HTML5 - A new hope and a dream, JISOM; May2013, Vol. 7 Issue 1, p49, ISSN 1843-4711.
 Cook Shane, CUDA Programming, 1st Edition, A Developer's Guide to Parallel Computing with GPUs, Morgan Kaufmann, 2012, ISBN:9780124159334.
 Lungu Ion, Petrosanu Dana-Mihaela, Pirjan Alexandru, Optimization Solutions for Improving the Performance of the Parallel Reduction Algorithm Using Graphics Processing Units, Informatica Economica, Vol. 16 Nr. 3/2012, pp. 72-86, ISSN 1453-1305.
 Lungu Ion, Pirjan Alexandru, Petrosanu Dana-Mihaela, Solutions for Optimizing The Data Parallel Prefix Sum Algorithm Using The Compute Unified Device Architecture, JISOM, Vol. 5, Nr. 2.1/2011, pp. 465-477, ISSN 1843-4711.
(1) https://developer.nvidia.com/parallel-nsight-21-new-features, accessed on 09.27.2016, at 23:00.
Simulations of continuous random variables and Monte Carlo methods.
Introverts should be exempted from teamwork and public speaches.


text:
Fragrances collection ›
Aqua Moresca Parfum de Toilette 50ml
BUY AN AQUA MORESCA PARFUM 50 ML AND YOU WILL GET A COMPLIMENTARY BOX WITH 10 PERFUMED TOWELETTES, CONVENIENT SUBSTITUTE FOR THE PARFUM DE TOILETTE, TO HAVE ALWAYS WITH YOU YOUR PREFERRED.
After 300 years, Caffè Florian is still the place where Venice and the world meet, where the past meets the present. When Florian was opened in 1720, the Lagoon city was a flourishing and prosperous centre for the trade and commerce of precious spices, exotic oils and resins from the Orient.
The navigators and the explorers who returned from distant lands with their vessels loaded with precious goods provided the raw materials necessary for the development of the Ars Profumatoria (perfumery). A combination of knowledge, technique and means of preserving those perfumes in refined bottles made with the famous Murano glass, made the venice Republic the cradle of Italian perfumery. Here the masters of perfumery transformed precious materials into refined perfumes whose formulas were jealously guarded.
Aqua Moresca is a rich and sumptuous perfume masterfully created and composed with the finest quality of natural essential oils, representing a fine weave of antique culture to reveal the Venetian art of perfume creating; a synergy that is at once mysterious and evocative.
Enclosed in an elegant bottle adorned with a precious Murano glass bead containing gold dust and gold foil, and marked with the "lion" logo on the bottle cap, symbol of the lagoon and the Florian, this fragrance is a mystical revelation of golden amber with brilliant accents of bitter orange and saffron on a precious background of incense and myrrh, sandalwood, coffee and chocolate.
Created especially for connoisseurs who desire a perfume of rare value as part of a daily ritual.
The shimmering pearlescent bronze brand-new packaging is enriched with the Florian Venezia 1720 logo.
Parfum de toilette 50 ml
In the world there are less than a hundred of Master Perfumers. It is through the very nature of their human craft, developed carefully over several years of study and application, that young perfumers become capable of identifying and memorizing hundreds of natural raw materials coming from every remote part of the world. Master Perfumers compose numerous ingredients, making it their personal quest to develop a fragrance creation which is beautiful and harmonic which will bond these two worlds: almost as part of a personal mission. The perfume is a precious, living and expressive medium that contains the world.
Lorenzo Dante Ferro is fortunate indeed to be one of these hundred Master Perfumers. Having rightfully earned his title, he is one of the very few independent creators and producers of fine fragrances for limited and exclusive distribution today. After acquiring extensive, international experience in the world's most important centers of fragrance creation: Zurich, Grasse, London, New York and Paris, he chose to go back in Italy, in Venice, the city that had an important role during the beginning of the perfumer art.
€85.00 You save €25.50
Note: This product can not be shipped to certain countries (More info)
Items that could interest you
Aqua Moresca perfumed towellettes

redpajama_set_name: RedPajamaCommonCrawl


Opel Hidden Car Tires is a find hidden car tires game. In the game, there are five pictures, you need to find all hidden car tires within the allotted time. Every picture has two minutes to find, and you can have five errors. If you have more, the game will be over. Have a good time! Use mouse to play this game.
The post Opel Hidden Car Tires appeared first on Andrew Biggs Games.


It's hard to read this stuff every day.
This is going to be so huge and so devastating that this event will be used as teaching points and examples in post secondary schools in the future, that is, a future without an oil geyser at the bottom of the Gulf of Mexico.
Every article you read invariably mentions that 11 people were killed. Really? This isn't important anymore. The lives of everyone in the Gulf will be affected. Thousands have already lost their livelihoods.
And those of us who follow news as much as I do, and like to connect dots as much as I do, will remember that this oil rig leak happens less than a year after the oil rig leak off the coast of Australia in the fall of 2009...that happened in the exact same way.
Isn't it stupid though? How they approach the next "strategy" to close the leak. Now today I read the "worst case scenario" is that it takes until August to close it. Huh? They take days to come up with a plan, days to implement it, and another day to watch it fail. Like Bill Maher said, get Steve Jobs on this. I view it as laziness, while the US Government and BP claim they're doing everything they can I just don't see it. All this time they've said they may have to drill a pressure release line, and given the gravity of this, why didn't they just go for that right away?
I know I know. This is like Apollo 13 except on Earth, but a corporation is in charge. I don't particularly care for the way multi-billion dollar corporate business is conducted. The cherry on top will be watching BP weasel their way out of not having to pay for the full cost of this cleanup, going bankrupt, and folding.
For those of you on Twitter, BPGlobalPR is offering levity 140 characters at a time.
"What a gorgeous day! The ocean is filled with the most beautiful rainbows!"
design consultation by sophie.s.. Travel theme. Powered by Blogger.


text:
CITES Parties must get tough and show resolve in fight against illegal wildlife trade - EIA
CITES Parties must get tough and show resolve in fight against illegal wildlife trade
One of the biggest events on the international conservation calendar gets under way this week and our campaigners will be there to press for robust action to safeguard threatened species from illegal trade.
The 18th meeting of the Conference of the Parties (CoP18) to the Convention on International Trade in Endangered Species (CITES) and meetings of the CITES Standing Committee take place in Geneva following postponement and relocation from Sri Lanka due to security concerns.
As human actions threaten more species with extinction than ever before, we are calling on all governments participating in CoP18 to put the precautionary principle at the heart of CITES decision-making and to strengthen protections for species which continue to be threatened by trade.
Vietnam's out-of-control illegal wildlife trade
Vietnam has seen the rapid proliferation of organised trafficking networks driving illegal wildlife trade globally – but the response of its Government has been inadequate and disproportionate to the scale of trafficking involving Vietnamese criminal groups.
The country has been implicated in more than 600 seizures linked to illegal trade – including a minimum of 105.72 tonnes of ivory, equivalent to an estimated 15,779 dead elephants; 1.69 tonnes of horn estimated to be sourced from up to 610 rhinos; the skins, bones and other products sourced from a minimum of 228 tigers; and the bodies and scales of 65,510 pangolins. A report commissioned by CITES has concluded that the situation in Vietnam "has worsened considerably" and that it "now functions as the leading destination for illicit ivory, surpassing China (including Hong Kong)" and recommends that the country is treated as a priority under the CITES National Ivory Action Plans process (NIAP).
In the face of this worsening situation, we have researched and prepared a new report for CoP18, Running Out of Time: Wildlife crime justice failures in Vietnam, which includes urgent recommendations for the Government of Vietnam to address its critical role in transnational wildlife trafficking.
We urge CITES Parties to call for the initiation of compliance proceedings to encourage Vietnam to take urgent action to address its key role in illegal wildlife trade.
Tigers and big cats
Captive tiger in China, filmed during EIA undercover visit (c) EIAimage
High on our list of priorities is Laos' lack of progress in tackling wildlife trafficking, with the country effectively a safe haven for major wildlife traffickers.
Laos has previously promised to tackle tiger farms in order to avoid trade suspensions but, despite this, new tiger farms have been established while others have expanded and, instead of acting against them, the Government has sanctioned their conversion into so-called zoos or safari parks.
We previously warned that these would serve as a front for illegal activities and this has been borne out by farcical attempts to flout the official tiger farm audit and by the seizure of dead tiger cubs in Hanoi from one of the Laos farms.
We are calling for CITES Parties to impose trade sanctions on Laos as a matter of urgency
We are also urging the adoption of proposals to tackle trade in Asian big cats, including specific recommendations put forward by India, home to more wild tigers than any other country. India's proposals present specific, time-bound actions for key countries to take, including an immediate halt to breeding at captive tiger facilities, sharing images of seized tiger skins with law enforcement and closing domestic markets for big cat products.
In particular, a strong message needs to come out of Geneva from the international community, urging China to end all trade in big cat products.
Last chance for the critically endangered vaquita
Vaquita (c) Chris Johnson
Drawing on the findings of our investigations into the illegal totoaba fish trade in Mexico and China, we have released the new report CITES's Last Chance: Stop the illegal totoaba trade to save the vaquita urging CITES trade suspensions against Mexico for its failure to protect the critically endangered vaquita porpoise from illegal fishing.
The vaquita, the world's smallest and most endangered cetacean, is found only in Mexico's northern Gulf of California and scientists recently announced that as few as 10 are estimated to survive in total – a direct result of rampant and uncontrolled illegal fishing for totoaba, which is poached for its swim bladder or maw.
Maintaining the international ivory trade ban
The price of ivory trade – a poached elephant in Kenya (c) EIAimage
Poaching and ivory trafficking continue to pose a very real threat to elephant populations in southern Africa, despite the current wave of propaganda from pro-trade factions.
Strong measures are needed at CoP18 to ensure the situation does not spiral out of control, especially with Botswana, Namibia, Zambia and Zimbabwe having submitted two proposals to actually decrease elephant protection and resume the international ivory trade – a practice we had hoped would never be repeated after we saw the repercussions on elephants the last time such a trade took place, in 2008.
Botswana, Namibia and Zimbabwe have submitted a proposal which would allow them and South Africa to sell their stockpiles of ivory while Zambia has submitted a separate proposal to decrease the protection of its elephant population with a view to selling its ivory stockpile.
We call on Parties to roundly reject these proposals and to ensure that decision-making at CoP18 either increases or maintains existing protective measures for elephants.
Pangolin stockpiles and domestic markets
Despite the 2016 uplisting of all eight pangolin species to Appendix I, the transnational illegal trade in their scales and body parts continues on an industrial scale.
Numerous parties are linked to high volumes of illegal pangolin trade, including China, Nigeria, Thailand and Vietnam. We are pressing CITES Parties to call for strengthened enforcement efforts in these countries to disrupt pangolin trafficking networks, including the use of anti-money laundering laws.
China's domestic market for traditional Chinese medicine products containing pangolin scale is a major driver of the trade and we are proposing that the Secretariat adopts decisions urging China to take steps towards closing its domestic pangolin market and to report on progress.
Previously there has been debate amongst Parties over the trade in Appendix I specimens legally acquired before uplisting from Appendix II. In its report on the issue for CoP18, the Secretariat has concluded that the rules of the Convention should apply at the time when two Parties trade specimens rather than when they were collected from the wild. We are calling on CoP18 to support the Secretariat's legal analysis on this.
* Briefing document for CITES CoP18
* CITES's Last Chance: Stop the illegal totoaba trade to save the vaquita .
* Eyes Wide Shut: Southern Africa's elephants now in the firing line
* Running Out of Time: Wildlife crime justice failures in Vietnam
Follow the latest updates from our campaigners at CoP18 via Twitter.
Time is running out for Vietnam to get its act together and clamp down on wildlife crime
With extinction looming, it's CITES's last chance to save the vaquita porpoise
captive tigers
Ecosystems & Biodiversity
Myanmar Auto Corporation
National Ivory Action Plans
niap
rhino horn
tiger farming
totoaba
undercover investigation
vaquita


Sue is a passionate and experienced psychologist with significant expertise in working with young children, adolescents and their families from a culturally and linguistically diverse population. Working as a school counsellor, Sue has extensive experience in dealing with a range of learning, behavioural and mental health issues. Sue also runs targeted group programs for depression, anxiety management, anger management and stress management.
Sue's personal style is empathetic and values driven. Addressing the client's individual needs she uses a variety of therapeutic approaches such as Cognitive Behaviour Therapy, Acceptance & Commitment Therapy and Solution Focused Therapy, as well as Motivational interviewing and Mindfulness techniques. Sue also works with adults experiencing psychological distress and is WorkCover approved. Sue's continuous engagement in professional learning ensures she is well-informed of the latest trends, research and best practice.
Joanne Francis is a Clinical Psychologist with a broad range of experience in Adult Mental Health and Early Intervention for young people experiencing a first episode of Psychosis or Mania. Joanne has provided psychological treatment for individuals as well as run group therapy programs.
Joanne has a passion for supporting adolescents and adults dealing with difficulties such as: depression, general anxiety, panic, discomfort in social situations, emotional regulation issues, adjustment to major life events, stress management, obsessive thoughts, compulsive behaviour, addiction, psychosis and bi-polar disorder.
Joanne is dedicated to helping adolescents and adults apply successful evidence based strategies (Cognitive Behaviour Therapy, Dialectical Behaviour Therapy, Acceptance and Commitment Therapy) to overcome practical challenges in their lives. She works in a collaborative, non-judgemental, goal focused environment to assist with recovery.
Kristy is a psychologist with significant experience working with adolescents or adults in the forensic setting, however she has worked in community and hospital environments too. She specialises in assessment and treatment for mental health, substance use, trauma, learning or behavioural issues, family and forensic matters. She is an Approved Board Supervisor who provides supervision and training to other psychologists. She is passionate about helping young people or adults with complex problems to make positive, meaningful and lasting changes in their lives.
Kristy adopts a holistic approach when providing treatment to her clients and uses evidence-based interventions such as Cognitive Behavioural Therapy, Dialectical Behaviour Therapy, Motivational Interviewing, CBT- Trauma focused or Family Therapy.
Tina is an experienced psychologist with broad experience working with children, adolescents and adults within primary and secondary education system.
Tina's approach is client-centred, placing emphasis on fostering empathetic, honest and respectful therapeutic relationships with clients.
Tina is passionate about helping adolescents and adults improve their wellbeing and psychological health by drawing on her training in a variety of therapeutic models including Cognitive Behaviour Therapy (CBT), Acceptance and Commitment Therapy (ACT), Motivational Interviewing (MI), and Solution Focused Brief Therapy (SFBT).
Cara is a registered psychologist with a wide variety of experience working with individuals and their families across the lifespan - from childhood, adolescence and adulthood. Cara uses a strengths based, empathic and professional approach to assist individuals with achieving their goals. She has worked in community health settings (including headspace), private practice settings and schools, assisting people from various socio-cultural backgrounds and with a range of mental health issues.
Cara has facilitated individualised programs and therapy for clients and their families, in addition to developing and facilitating groups using evidence based practice to improve mental health and wellbeing of individuals in the community. Cara is passionate about catering to fit the individual needs of clients using a range of therapeutic approaches including; Cognitive Behaviour Therapy, Interpersonal Therapy, Acceptance Commitment Therapy and Solution Focused Brief Therapy.
Dylan has extensive clinical experience in both public and private settings, working with a culturally diverse clientele. He works with individuals one on one and has also facilitated group therapy programs for anxiety, depression and addiction.
Dylan's major areas of expertise are working with adults and adolescents suffering from depression, anxiety, post-traumatic stress disorder and obsessive compulsive disorder. Working in acute mental health, Dylan has also gained significant experience in treating people with bipolar, psychosis, complex trauma and bereavement.
Dylan is an empathetic psychologist who uses a collaborative and evidence-based approach to treatment. His primary therapy approaches include: cognitive and behavioural therapy; acceptance and commitment therapy; mindfulness and positive psychology strategies.


text:
Pigmented median raphe cyst of the scrotum. a rare pediatric case and review of the literature
COD: 14_03_2022_3742_ep-1 Categorie: 2022, E-PUBLISH, March 2022
Cristina Martucci, Francesca Diomedi Camassei, Alessandro Borsellino
Ann Ital Chir, 2022; 11 – March 14
AIM: Median raphe cyst are uncommon malformations of male genitalia, in which are rarely described melanin pig ments or melanocytes; less than ten cases have been reported in literature. The aim of our study is to describe a rare ormations, case of pigmented median raphe cyst of the scrotum, successfully treated in our hospital. CASE EXPERIENCE: A 6-years-old boy underwent surgical removal of a melanocytic lesion of the ventral surface of the scrotum in Day Surgery regimen. He reported no surgical complication or recurrence. RESULTS: Histology showed multiple cystic nodules, lined by squamous and pluri-stratified columnar epithelium, some of which contained melanic deposits and were anti-MART-positive. DISCUSSION: Even though the first case has been reported in 1985, the etiology of median raphe cysts remains unclear.
Infrequently associated with trauma or infections, these lesions seem to origin from an abnormal development of the periurethral glands or atypical closure of the median raphe. Rarely melanin pigments or melanocytes are described in the histological examination, and the cause of the pigmentation is still unknown. CONCLUSION: Median raphe cysts present a non-negligible variety of clinical presentations and histological features. Pigmented ones represent the rarest form: further studies may be necessary to clarify their pathogenesis and describe their clinical evolution.


text:
Small primate species discovered in Angola
Posted on April 12, 2017 by petrel41
This 2011 video from Tanzania says about itself:
Andrew Perkin and Johan Karlsson conducting a galago [Galagoides] survey in Zanzibar.
From Sci-News.com:
Galagoides kumbirensis: New Species of Dwarf Galago Discovered in Angola
Apr 10, 2017 by Enrico de Lazaro
An international group of primatologists has discovered a new primate, Galagoides kumbirensis (Angolan dwarf galago), with features not been seen by science before.
Galagos, also known as bushbabies, are small, woolly, long-tailed primates that are widespread over sub-Saharan Africa, and make up the family Galagidae.
Over the last half century, their number of species recognized has slowly climbed from 6 to 19 species (including the new one).
The newly-discovered species, the Angolan dwarf galago, belongs to the genus Galagoides (dwarf galagos, or dwarf bushbabies).
"This new species is a very exciting discovery," said Dr. Russell Mittermeier of Conservation International.
"It is only the fifth new primate described from the African mainland since 2000 and only the second species of galago. What is more, it is from Angola, where there has been very little primate research to date."
The Angolan dwarf galago is a small gray-brown galago with a darker, long-haired tail.
It is the largest known dwarf galago: the typical head-and-body length for this species is from 6.7 to 7.9 inches (17-20 cm), and the tail varies from 6.7 to 9.5 inches (17-24 cm) long.
This new species is described in a paper published online recently in the American Journal of Physical Anthropology.
"Muzzle slightly up-turned, pink below and dark above, merging into dark eye-rings with a conspicuous white nose stripe between the eyes," the authors wrote in the paper.
"The remainder of the face gray, suffused with brown, and set off from white cheeks, chin, and neck."
"Inner ears white towards the base and yellowish towards margins. Ears gray above with two light spots where the ears join the crown. Crown, dorsum forelimbs, thighs, and flanks gray with a brown wash."
"Ventrum, surface of forelimbs and hindlimbs creamy yellow. Yellow strongest where the light ventrum merges into the darker dorsum."
"Tail darker towards the tip and slightly longer than the body. Tail held curled when at rest."
The morphology and calls of the Angolan dwarf galago are so unique that there was no need to resort to genetic techniques to verify it further.
"When we first encountered the new species in Kumbira Forest in north-western Angola, we heard a distinctive 'crescendo' call similar to that of a tiny galago, but upon seeing one, we were struck by its remarkably large size," said lead author Magdalena Svensson, a researcher with the Nocturnal Primate Research Group at Oxford Brookes University.
"Until now, call types have been the most reliable way to distinguish galago species, and to find one that did not match what we expected was very exciting."
"The uncovering of this species is characteristic of the return of real biology," said co-author Prof. Judith Masters, from Nelson Mandela Metropolitan University in South Africa.
"Although DNA has yielded new and sometimes highly contestable specimens, in the case of this new galago, the differences are obvious for all to see."
Rare video: young orangutan and gibbon play together in the Borneo jungle
Iowa State anthropologist finds female chimps more likely to use tools when hunting
Nearly 50 years of lemur data now available online
Tunisian fossil primate discovery
South African waterbuck escapes from crocodile
Loris champion: conserving the world's most surprising primate family
Lions against buffalo in South Africa
This entry was posted in Biology, Mammals and tagged Angola, primates by petrel41. Bookmark the permalink.
8 thoughts on "Small primate species discovered in Angola"
Carolyn Page on April 12, 2017 at 1:22 pm said:
Oh wow…. How cute this little fellow! 🙂
petrel41 on April 12, 2017 at 1:34 pm said:
The video shows a related species from Zanzibar.
A photo of the newly discovered species is at
http://www.sci-news.com/biology/galagoides-kumbirensis-new-species-dwarf-galago-angola-04770.html
A great image! 🙂
Pingback: Bird, primate, alligator brains and intelligence | Dear Kitty. Some blog
Pingback: Primates in danger, new research | Dear Kitty. Some blog
Pingback: How primates got fingernails, new research | Dear Kitty. Some blog
Pingback: Portugal's fascist concentration camp, Lisbon exhibition | Dear Kitty. Some blog