The document summarizes performance optimizations for Apache Camel by discussing various Enterprise Integration Patterns (EIPs) and components. It provides demonstrations and conclusions for content-based routing, splitting messages, marshaling and unmarshaling data, working with files and databases, using threads, templates, web services, and messaging. The overall goal is to help optimize Apache Camel implementations through techniques like reducing file/database accesses, using string builders, batch processing, and parallelizing work with threads.
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)Ontico
Обзор мониторинга в Grammarly, о котором я докладывал на прошлом RootConf'е.
Почему мы опять решили всё изменить после перехода на докер, и как мы пришли к zipper-stack, go-carbon, carbon-c-relay (в том числе и бенчмарки альтернативных решений), как получать миллион уникальных метрик в секунду, как мы пришли к тому, что теги в условии безымянных инстансов необходимы, и как мы их сделали, как работает zipper-stack и, вообще, архитектура нашего текущего убер мониторинга.
Being closer to Cassandra by Oleg Anastasyev. Talk at Cassandra Summit EU 2013odnoklassniki.ru
Odnoklassniki uses cassandra for its business data, which doesn't fit into RAM. This data is typically fast growing, frequently accessed by our users and must be always available, because it constitute our primary business as a social network. The way we use cassandra is somewhat unusual - we don't use thrift or netty based native protocol to communicate with cassandra nodes remotely. Instead, we co-locate cassandra nodes in the same JVM with business service logic, exposing not generic data manipulation, but business level interface remotely. This way, we avoid extra network roundtrips within a single business transaction and use internal calls to Cassandra classes to get information faster. Also, this helps us to create many small hacks on Cassandra's internals, making huge gains on efficiency and ease of distributed server development.
Путь мониторинга 2.0 всё стало другим / Всеволод Поляков (Grammarly)Ontico
Обзор мониторинга в Grammarly, о котором я докладывал на прошлом RootConf'е.
Почему мы опять решили всё изменить после перехода на докер, и как мы пришли к zipper-stack, go-carbon, carbon-c-relay (в том числе и бенчмарки альтернативных решений), как получать миллион уникальных метрик в секунду, как мы пришли к тому, что теги в условии безымянных инстансов необходимы, и как мы их сделали, как работает zipper-stack и, вообще, архитектура нашего текущего убер мониторинга.
Being closer to Cassandra by Oleg Anastasyev. Talk at Cassandra Summit EU 2013odnoklassniki.ru
Odnoklassniki uses cassandra for its business data, which doesn't fit into RAM. This data is typically fast growing, frequently accessed by our users and must be always available, because it constitute our primary business as a social network. The way we use cassandra is somewhat unusual - we don't use thrift or netty based native protocol to communicate with cassandra nodes remotely. Instead, we co-locate cassandra nodes in the same JVM with business service logic, exposing not generic data manipulation, but business level interface remotely. This way, we avoid extra network roundtrips within a single business transaction and use internal calls to Cassandra classes to get information faster. Also, this helps us to create many small hacks on Cassandra's internals, making huge gains on efficiency and ease of distributed server development.
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014odnoklassniki.ru
OK.ru is one of the largest social networks for Russian-speaking audiences with 80+ million unique user’s visits monthly. ok.ru uses Cassandra since 2010 and made a number of improvements to C* 2.0 and 2.1 codebase. Until recent time more than 50 TB of data at Ok.ru OLTP systems was managed by Microsoft SQL Sever. It’s very expensive, hard to scale and cannot save us from outage if one of our data centers fail. We wanted a new, fast scalable and reliable storage for these data. These data has requirements to support ACID transactions, so we don’t have to rewrite all application code from scratch. С* does not support these transactions, only lightweight, so we implemented a new storage with ACID and selected features of SQL world by ourselves. Still, it has C* at its heart. We’ll discuss the internals of the new storage, what features of C* we had to alter and which to rewrite from scratch. We’ll also talk about its operational experience in production.
Как построить видеоплатформу на 200 Гбитс / Ольховченков Вячеслав (Integros)Ontico
Как грамотная архитектура и правильное планирование запросов позволяет небольшим количеством серверов достичь высокой производительности при раздаче видеоконтента.
В докладе будет рассказано об опыте развития проекта видеоплатформы, о проблемах, которые возникли на пути, и как нам удается раздавать 200 Гбит меньше чем 10 серверами.
Тезисы - http://www.highload.ru/2015/abstracts/1872.html
Elasticsearch is well known as a highly scalable search engine that stores data in a structure optimized for language based searches but its capabilities and use cases don't stop there. In this tutorial, I'll give you a hands-on introduction to Elasticsearch and give you a glimpse at some of the fundamental concepts.
Database administration is challenging, and Elasticsearch is not an exception to that rule. In this tutorial, we will cover various administrative topics like Installation and Configuration, Cluster/Node management, Indexes management and Monitoring Cluster Health which will help you. Building applications on top of an Elasticsearch are also challenging and raise concerns about schema design. In this tutorial, we will cover developer-oriented topics like Mappings and Analysis, Aggregations and Schema Design that will help you build a robust application on top of Elasticsearch.
There will be lab sessions at the end of some chapters so please have your laptops with you.
Cassandra Summit 2014: Down with Tweaking! Removing Tunable Complexity for Ca...DataStax Academy
Presenters: Don Marti, Glauber Costa, and Dor Laor of Cloudius Systems
The need for performance tuning of the JVM and OS is making administrators the bottleneck for Cassandra deployments--especially in virtual environments. Over the past two years, the OSv project has profiled tuning-sensitive applications with a special focus on Cassandra. Today, many of the important bottlenecks for NoSQL applications are tunable on a conventional OS, but do not require tuning in the OSv environment. OSv gives Cassandra a simpler environment, set up to run one application in a single address space. This talk will cover how to use OSv to improve performance in key areas such as JVM memory allocation and network throughput--without loading up your to-do list with difficult tuning tasks.
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Ontico
Много лет назад у меня была задача разработать собственное хранилище для истории Instant Messenger'а. Начав с простого индексного дерева поверх mmap(2), я быстро понял, что mmap(2), madvise(2) и компания не подходят в качестве основы для движка СУБД. Я переключился на direct IO и начал разрабатывать свой собственный менеджер памяти, продвинутое вытеснение, планирование IO с адаптивным read ahead и, конечно, обработкой транзакций. Все эти вещи делают все разработчики СУБД десятилетиями.
Неудивительно, что современные операционные системы делают все те же самые вещи на свой лад, неподходящий разработчикам СУБД. Это и управление виртуальной памятью с вытеснением страниц, и планировщики ввода-вывода с read ahead. Файловые системы обрабатывают свои операции транзакционно, очень близко с базами данных. Но движки баз данных все равно должны реализовывать все эти механизмы самостоятельно.
В этой презентации мы посмотрим на Tempesta DB, часть проекта Tempesta FW (http://github.com/tempesta-tech/tempesta). Tempesta DB расширяет ядро Linux так, что она реализует управление памятью, вытеснение и ввод-вывод, пригодные для движков user-space баз данных. Она разработана для near real-time нагрузок и сейчас требует, чтобы все данные помещались в RAM.
Мы рассмотрим следующие вопросы:
- Управление памятью и IO в ОС и СУБД на примере Linux и InnoDB;
- Попытки сообщества разработчиков ядра Linux разработать необходимые интерфейсы ядра для СУБД;
- Расширения ядра Linux, вносимые Tempesta DB;
- Интерфейсы Tempesta DB для кастомных СУБД;
- Сценарии применения Tempesta DB для обработки Web контента и правил фильтрации в Tempesta FW.
Slides from #PromCon2018 Munich.
https://promcon.io/2018-munich/talks/thanos-prometheus-at-scale/
Bartłomiej Płotka
Fabian Reinartz
The Prometheus Monitoring system has been thriving for several years. Along with its powerful data model, operational simplicity and reliability have been a key factor in its success. However, some questions were still largely unaddressed to this day. How can we store historical data at the order of petabytes in a reliable and cost-efficient way? Can we do so without sacrificing responsive query times? And what about a global view of all our metrics and transparent handling of HA setups?
Thanos takes Prometheus' strong foundations and extends it into a clustered, yet coordination free, globally scalable metric system. It retains Prometheus's simple operational model and even simplifies deployments further. Under the hood, Thanos uses highly cost-efficient object storage that's available in virtually all environments today. By building directly on top of the storage format introduced with Prometheus 2.0, Thanos achieves near real-time responsiveness even for cold queries against historical data. All while having virtually no cost overhead beyond that of the underlying object storage.
We will show the theoretical concepts behind Thanos and demonstrate how it seamlessly integrates into existing Prometheus setups.
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...Ontico
Запускаем сервер (БД, Web-сервер или что-то свое собственное) и не получаем желаемый RPS. Запускаем top и видим, что 100% выедается CPU. Что дальше, на что расходуется процессорное время? Можно ли подкрутить какие-то ручки, чтобы улучшить производительность? А если параметр CPU не высокий, то куда смотреть дальше?
Мы рассмотрим несколько сценариев проблем производительности, рассмотрим доступные инструменты анализа производительности и разберемся в методологии оптимизации производительности Linux, ответим на вопрос за какие ручки и как крутить.
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Ontico
NoSQL key-value — популярное решение, но какие преимущества и какой ценой оно даёт?
Скорость? Возможно, но ценой урезанного, по сравнению с реляционными базами данных, функционала. Но данные и приложение всё еще разделены сетевым стеком, а иногда и десятками километров оптоволокна. В крупном проекте, работающем на десятках или сотнях серверов нельзя обеспечить высокую скорость доступа к данным с каждой машины. Если хранилище достаточно быстро, то время обработки запроса окажется значительно меньше затрат на работу с сетью, а производительность приложения будут определять сетевые задержки и частота запросов к БД.
В проекте Облако@Mail.Ru мы ушли от использования чистых key-value хранилищ в пользу микросервисов на Tarantool, что позволило свести общение с хранилищем данных к минимуму.
Да, Tarantool — это еще одна NoSQL база данных, но еще это полноценный сервер приложений. Приложений, расположенных рядом с данными!
Я расскажу, как мы пришли к использованию микросервисов на основе Tarantool. Приведу несколько сценариев использования, которые работают в Облаке и могут быть легко адаптированы для другого web-проекта. Вы узнаете о компонентах, которые разработаны и опубликованы нами уже сейчас, и о дальнейших планах развития.
Add a bit of ACID to Cassandra. Cassandra Summit EU 2014odnoklassniki.ru
OK.ru is one of the largest social networks for Russian-speaking audiences with 80+ million unique user’s visits monthly. ok.ru uses Cassandra since 2010 and made a number of improvements to C* 2.0 and 2.1 codebase. Until recent time more than 50 TB of data at Ok.ru OLTP systems was managed by Microsoft SQL Sever. It’s very expensive, hard to scale and cannot save us from outage if one of our data centers fail. We wanted a new, fast scalable and reliable storage for these data. These data has requirements to support ACID transactions, so we don’t have to rewrite all application code from scratch. С* does not support these transactions, only lightweight, so we implemented a new storage with ACID and selected features of SQL world by ourselves. Still, it has C* at its heart. We’ll discuss the internals of the new storage, what features of C* we had to alter and which to rewrite from scratch. We’ll also talk about its operational experience in production.
Как построить видеоплатформу на 200 Гбитс / Ольховченков Вячеслав (Integros)Ontico
Как грамотная архитектура и правильное планирование запросов позволяет небольшим количеством серверов достичь высокой производительности при раздаче видеоконтента.
В докладе будет рассказано об опыте развития проекта видеоплатформы, о проблемах, которые возникли на пути, и как нам удается раздавать 200 Гбит меньше чем 10 серверами.
Тезисы - http://www.highload.ru/2015/abstracts/1872.html
Elasticsearch is well known as a highly scalable search engine that stores data in a structure optimized for language based searches but its capabilities and use cases don't stop there. In this tutorial, I'll give you a hands-on introduction to Elasticsearch and give you a glimpse at some of the fundamental concepts.
Database administration is challenging, and Elasticsearch is not an exception to that rule. In this tutorial, we will cover various administrative topics like Installation and Configuration, Cluster/Node management, Indexes management and Monitoring Cluster Health which will help you. Building applications on top of an Elasticsearch are also challenging and raise concerns about schema design. In this tutorial, we will cover developer-oriented topics like Mappings and Analysis, Aggregations and Schema Design that will help you build a robust application on top of Elasticsearch.
There will be lab sessions at the end of some chapters so please have your laptops with you.
Cassandra Summit 2014: Down with Tweaking! Removing Tunable Complexity for Ca...DataStax Academy
Presenters: Don Marti, Glauber Costa, and Dor Laor of Cloudius Systems
The need for performance tuning of the JVM and OS is making administrators the bottleneck for Cassandra deployments--especially in virtual environments. Over the past two years, the OSv project has profiled tuning-sensitive applications with a special focus on Cassandra. Today, many of the important bottlenecks for NoSQL applications are tunable on a conventional OS, but do not require tuning in the OSv environment. OSv gives Cassandra a simpler environment, set up to run one application in a single address space. This talk will cover how to use OSv to improve performance in key areas such as JVM memory allocation and network throughput--without loading up your to-do list with difficult tuning tasks.
Linux Kernel Extension for Databases / Александр Крижановский (Tempesta Techn...Ontico
Много лет назад у меня была задача разработать собственное хранилище для истории Instant Messenger'а. Начав с простого индексного дерева поверх mmap(2), я быстро понял, что mmap(2), madvise(2) и компания не подходят в качестве основы для движка СУБД. Я переключился на direct IO и начал разрабатывать свой собственный менеджер памяти, продвинутое вытеснение, планирование IO с адаптивным read ahead и, конечно, обработкой транзакций. Все эти вещи делают все разработчики СУБД десятилетиями.
Неудивительно, что современные операционные системы делают все те же самые вещи на свой лад, неподходящий разработчикам СУБД. Это и управление виртуальной памятью с вытеснением страниц, и планировщики ввода-вывода с read ahead. Файловые системы обрабатывают свои операции транзакционно, очень близко с базами данных. Но движки баз данных все равно должны реализовывать все эти механизмы самостоятельно.
В этой презентации мы посмотрим на Tempesta DB, часть проекта Tempesta FW (http://github.com/tempesta-tech/tempesta). Tempesta DB расширяет ядро Linux так, что она реализует управление памятью, вытеснение и ввод-вывод, пригодные для движков user-space баз данных. Она разработана для near real-time нагрузок и сейчас требует, чтобы все данные помещались в RAM.
Мы рассмотрим следующие вопросы:
- Управление памятью и IO в ОС и СУБД на примере Linux и InnoDB;
- Попытки сообщества разработчиков ядра Linux разработать необходимые интерфейсы ядра для СУБД;
- Расширения ядра Linux, вносимые Tempesta DB;
- Интерфейсы Tempesta DB для кастомных СУБД;
- Сценарии применения Tempesta DB для обработки Web контента и правил фильтрации в Tempesta FW.
Slides from #PromCon2018 Munich.
https://promcon.io/2018-munich/talks/thanos-prometheus-at-scale/
Bartłomiej Płotka
Fabian Reinartz
The Prometheus Monitoring system has been thriving for several years. Along with its powerful data model, operational simplicity and reliability have been a key factor in its success. However, some questions were still largely unaddressed to this day. How can we store historical data at the order of petabytes in a reliable and cost-efficient way? Can we do so without sacrificing responsive query times? And what about a global view of all our metrics and transparent handling of HA setups?
Thanos takes Prometheus' strong foundations and extends it into a clustered, yet coordination free, globally scalable metric system. It retains Prometheus's simple operational model and even simplifies deployments further. Under the hood, Thanos uses highly cost-efficient object storage that's available in virtually all environments today. By building directly on top of the storage format introduced with Prometheus 2.0, Thanos achieves near real-time responsiveness even for cold queries against historical data. All while having virtually no cost overhead beyond that of the underlying object storage.
We will show the theoretical concepts behind Thanos and demonstrate how it seamlessly integrates into existing Prometheus setups.
Как понять, что происходит на сервере? / Александр Крижановский (NatSys Lab.,...Ontico
Запускаем сервер (БД, Web-сервер или что-то свое собственное) и не получаем желаемый RPS. Запускаем top и видим, что 100% выедается CPU. Что дальше, на что расходуется процессорное время? Можно ли подкрутить какие-то ручки, чтобы улучшить производительность? А если параметр CPU не высокий, то куда смотреть дальше?
Мы рассмотрим несколько сценариев проблем производительности, рассмотрим доступные инструменты анализа производительности и разберемся в методологии оптимизации производительности Linux, ответим на вопрос за какие ручки и как крутить.
Tarantool как платформа для микросервисов / Антон Резников, Владимир Перепели...Ontico
NoSQL key-value — популярное решение, но какие преимущества и какой ценой оно даёт?
Скорость? Возможно, но ценой урезанного, по сравнению с реляционными базами данных, функционала. Но данные и приложение всё еще разделены сетевым стеком, а иногда и десятками километров оптоволокна. В крупном проекте, работающем на десятках или сотнях серверов нельзя обеспечить высокую скорость доступа к данным с каждой машины. Если хранилище достаточно быстро, то время обработки запроса окажется значительно меньше затрат на работу с сетью, а производительность приложения будут определять сетевые задержки и частота запросов к БД.
В проекте Облако@Mail.Ru мы ушли от использования чистых key-value хранилищ в пользу микросервисов на Tarantool, что позволило свести общение с хранилищем данных к минимуму.
Да, Tarantool — это еще одна NoSQL база данных, но еще это полноценный сервер приложений. Приложений, расположенных рядом с данными!
Я расскажу, как мы пришли к использованию микросервисов на основе Tarantool. Приведу несколько сценариев использования, которые работают в Облаке и могут быть легко адаптированы для другого web-проекта. Вы узнаете о компонентах, которые разработаны и опубликованы нами уже сейчас, и о дальнейших планах развития.
From the Gaming Scalability event, June 2009 in London (http://gamingscalability.org).
Dave Felcey from Oracle will give an overview of Oracle Coherence and releted technologies, like JRockit Real-Time JVM, and discuss how they are being used to address some of the challenges their gaming customers face. In the gaming industry real-time updates and resilience are key. Getting price changes to users by caching data in memory and pushing real-time changes to clients using Coherence can provides a competitive edge and attracts new customers. Increasingly holding data in-memory and using the real-time tools are the only way sites can meet user expectations. However, ensuring in-memory data is resilient under load is also crucial, to protect against costly outages at key times. Dave will discuss the technical details and approaches that can be used to meet these requirements.
(BDT303) Running Spark and Presto on the Netflix Big Data PlatformAmazon Web Services
In this session, we discuss how Spark and Presto complement the Netflix big data platform stack that started with Hadoop, and the use cases that Spark and Presto address. Also, we discuss how we run Spark and Presto on top of the Amazon EMR infrastructure; specifically, how we use Amazon S3 as our data warehouse and how we leverage Amazon EMR as a generic framework for data-processing cluster management.
Cloud-Native Integration with Apache Camel on Kubernetes (Copenhagen October ...Claus Ibsen
Cloud-native applications of the future will consist of hybrid workloads: stateful applications, batch jobs, microservices, and functions, wrapped as Linux containers and deployed via Kubernetes on any cloud.
In this session, we will explore key challenges with function interactions and coordination, addressing these problems using Enterprise Integration Patterns (EIP) and modern approaches with the latest innovations from the Apache Camel community:
- Apache Camel 3
- Camel K
- Camel Quarkus
Apache Camel is the Swiss army knife of integration, and the most powerful integration framework. In this session you will hear about the latest features in the brand new 3rd generation.
Camel K, is a lightweight integration platform that enables Enterprise Integration Patterns to be used natively on any Kubernetes cluster. When used in combination with Knative, a framework that adds serverless building blocks to Kubernetes, and the subatomic execution environment of Quarkus, Camel K can mix serverless features such as auto-scaling, scaling to zero, and event-based communication with the outstanding integration capabilities of Apache Camel.
We will show how Camel K works. We'll also use examples to demonstrate how Camel K makes it easier to connect to cloud services or enterprise applications using some of the 300 components that Camel provides.
Project Tungsten Phase II: Joining a Billion Rows per Second on a LaptopDatabricks
Tech-talk at Bay Area Apache Spark Meetup.
Apache Spark 2.0 will ship with the second generation Tungsten engine. Building upon ideas from modern compilers and MPP databases, and applying them to data processing queries, we have started an ongoing effort to dramatically improve Spark’s performance and bringing execution closer to bare metal. In this talk, we’ll take a deep dive into Apache Spark 2.0’s execution engine and discuss a number of architectural changes around whole-stage code generation/vectorization that have been instrumental in improving CPU efficiency and gaining performance.
2 hour session where I cover what is Apache Camel, latest news on the upcoming Camel v3, and then the main topic of the talk is the new Camel K sub-project for running integrations natively on the cloud with kubernetes. The last part of the talk is about running Camel with GraalVM / Quarkus to archive native compiled binaries that has impressive startup and footprint.
2 hour session where I cover what is Apache Camel, latest news on the upcoming Camel v3, and then the main topic of the talk is the new Camel K sub-project for running integrations natively on the cloud with kubernetes. The last part of the talk is about running Camel with GraalVM / Quarkus to archive native compiled binaries that has impressive startup and footprint.
Apache Camel v3, Camel K and Camel QuarkusClaus Ibsen
In this session, we will explore key challenges with function interactions and coordination, addressing these problems using Enterprise Integration Patterns (EIP) and modern approaches with the latest innovations from the Apache Camel community:
Apache Camel is the Swiss army knife of integration, and the most powerful integration framework. In this session you will hear about the latest features in the brand new 3rd generation.
Camel K, is a lightweight integration platform that enables Enterprise Integration Patterns to be used natively on any Kubernetes cluster. When used in combination with Knative, a framework that adds serverless building blocks to Kubernetes, and the subatomic execution environment of Quarkus, Camel K can mix serverless features such as auto-scaling, scaling to zero, and event-based communication with the outstanding integration capabilities of Apache Camel.
- Apache Camel 3
- Camel K
- Camel Quarkus
We will show how Camel K works. We’ll also use examples to demonstrate how Camel K makes it easier to connect to cloud services or enterprise applications using some of the 300 components that Camel provides.
Biological screening of herbal drugs: Introduction and Need for
Phyto-Pharmacological Screening, New Strategies for evaluating
Natural Products, In vitro evaluation techniques for Antioxidants, Antimicrobial and Anticancer drugs. In vivo evaluation techniques
for Anti-inflammatory, Antiulcer, Anticancer, Wound healing, Antidiabetic, Hepatoprotective, Cardio protective, Diuretics and
Antifertility, Toxicity studies as per OECD guidelines
Model Attribute Check Company Auto PropertyCeline George
In Odoo, the multi-company feature allows you to manage multiple companies within a single Odoo database instance. Each company can have its own configurations while still sharing common resources such as products, customers, and suppliers.
This slide is special for master students (MIBS & MIFB) in UUM. Also useful for readers who are interested in the topic of contemporary Islamic banking.
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Dr. Vinod Kumar Kanvaria
Exploiting Artificial Intelligence for Empowering Researchers and Faculty,
International FDP on Fundamentals of Research in Social Sciences
at Integral University, Lucknow, 06.06.2024
By Dr. Vinod Kumar Kanvaria
How to Make a Field invisible in Odoo 17Celine George
It is possible to hide or invisible some fields in odoo. Commonly using “invisible” attribute in the field definition to invisible the fields. This slide will show how to make a field invisible in odoo 17.
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...Levi Shapiro
Letter from the Congress of the United States regarding Anti-Semitism sent June 3rd to MIT President Sally Kornbluth, MIT Corp Chair, Mark Gorenberg
Dear Dr. Kornbluth and Mr. Gorenberg,
The US House of Representatives is deeply concerned by ongoing and pervasive acts of antisemitic
harassment and intimidation at the Massachusetts Institute of Technology (MIT). Failing to act decisively to ensure a safe learning environment for all students would be a grave dereliction of your responsibilities as President of MIT and Chair of the MIT Corporation.
This Congress will not stand idly by and allow an environment hostile to Jewish students to persist. The House believes that your institution is in violation of Title VI of the Civil Rights Act, and the inability or
unwillingness to rectify this violation through action requires accountability.
Postsecondary education is a unique opportunity for students to learn and have their ideas and beliefs challenged. However, universities receiving hundreds of millions of federal funds annually have denied
students that opportunity and have been hijacked to become venues for the promotion of terrorism, antisemitic harassment and intimidation, unlawful encampments, and in some cases, assaults and riots.
The House of Representatives will not countenance the use of federal funds to indoctrinate students into hateful, antisemitic, anti-American supporters of terrorism. Investigations into campus antisemitism by the Committee on Education and the Workforce and the Committee on Ways and Means have been expanded into a Congress-wide probe across all relevant jurisdictions to address this national crisis. The undersigned Committees will conduct oversight into the use of federal funds at MIT and its learning environment under authorities granted to each Committee.
• The Committee on Education and the Workforce has been investigating your institution since December 7, 2023. The Committee has broad jurisdiction over postsecondary education, including its compliance with Title VI of the Civil Rights Act, campus safety concerns over disruptions to the learning environment, and the awarding of federal student aid under the Higher Education Act.
• The Committee on Oversight and Accountability is investigating the sources of funding and other support flowing to groups espousing pro-Hamas propaganda and engaged in antisemitic harassment and intimidation of students. The Committee on Oversight and Accountability is the principal oversight committee of the US House of Representatives and has broad authority to investigate “any matter” at “any time” under House Rule X.
• The Committee on Ways and Means has been investigating several universities since November 15, 2023, when the Committee held a hearing entitled From Ivory Towers to Dark Corners: Investigating the Nexus Between Antisemitism, Tax-Exempt Universities, and Terror Financing. The Committee followed the hearing with letters to those institutions on January 10, 202
Operation “Blue Star” is the only event in the history of Independent India where the state went into war with its own people. Even after about 40 years it is not clear if it was culmination of states anger over people of the region, a political game of power or start of dictatorial chapter in the democratic setup.
The people of Punjab felt alienated from main stream due to denial of their just demands during a long democratic struggle since independence. As it happen all over the word, it led to militant struggle with great loss of lives of military, police and civilian personnel. Killing of Indira Gandhi and massacre of innocent Sikhs in Delhi and other India cities was also associated with this movement.
A Strategic Approach: GenAI in EducationPeter Windle
Artificial Intelligence (AI) technologies such as Generative AI, Image Generators and Large Language Models have had a dramatic impact on teaching, learning and assessment over the past 18 months. The most immediate threat AI posed was to Academic Integrity with Higher Education Institutes (HEIs) focusing their efforts on combating the use of GenAI in assessment. Guidelines were developed for staff and students, policies put in place too. Innovative educators have forged paths in the use of Generative AI for teaching, learning and assessments leading to pockets of transformation springing up across HEIs, often with little or no top-down guidance, support or direction.
This Gasta posits a strategic approach to integrating AI into HEIs to prepare staff, students and the curriculum for an evolving world and workplace. We will highlight the advantages of working with these technologies beyond the realm of teaching, learning and assessment by considering prompt engineering skills, industry impact, curriculum changes, and the need for staff upskilling. In contrast, not engaging strategically with Generative AI poses risks, including falling behind peers, missed opportunities and failing to ensure our graduates remain employable. The rapid evolution of AI technologies necessitates a proactive and strategic approach if we are to remain relevant.
3. Agenda
● Brief Introduction
● Content based routing EIP (and XML)
● Split EIP (and XML)
● Marshaling / Unmarshaling
● Working with files
● Accessing databases
● Working with threads()
● Working with templates
● Using Web Services
● Messaging
● Q&A
4. Brief introduction
● 11 years of experience in software
development and architecture
– Focused on Java integration technologies
● Senior Software Developer at Atos
Worldline in Frankfurt, Germany
– Tech. responsible for our integration platform
based on ServiceMix & Camel
● Apache Camel committer and current PMC
chair
– Partly involved in Apache Karaf, ServiceMix
5. Apache Camel 3.0
● Be involved!
– irc://irc.codehaus.org/camel
– dev@camel.apache.org
– http://camel.465427.n5.nabble.com/Camel-
Development-f479097.html
● Share your ideas & wishes with us!
– http://camel.apache.org/camel-30-ideas.html
● Be part of it!
– http://camel.apache.org/camel-30-roadmap.html
– http://camel.apache.org/contributing.html
8. Conclusion
● Prefer to use conditions based on your
message header
● Use String contains check, if it works for
you (e.g. with Simple language)
● Use VDTXML if possible (GPL license)
● Use XQuery
● If you (have to) use XPath, make sure you
have Saxon in your class path.
10. Split EIP
Duration in ms to split a 100 MByte message
Memory footprint in MByte to split a 100 MByte file
9000
8000
7000
6000 XPath (JDK)
XPath (Saxon)
5000 VTDXML*
XML Tokenizer
4000
3000
2000
1000
0
0 8800 5100 7400 1126 480 200 8
https://github.com/muellerc/apachecon-na-2013/tree/master/split-eip
* GPL
11. Conclusion
● Use VDTXML if possible (GPL license)
● Prefer to use the XML Tokenizer (NS
limitation)
● If you (have to) use XPath, make sure you
have Saxon in your class path.
– Otherwise there is a good chance it will
fail
13. Marshaling / Unmarshaling
Duration in ms to marshal and unmarshal 10.000 messages
5000
4500
4000
XStream (XML)
3500 XMLBeans (XML)
JAXB (XML)
3000 JIBX* (XML)
XStream (Json)
2500 Gson (Json)
Jackson (Json)
2000 Java Serialization
1500
1000
500
0
3100 2300 2200 1800 5000 1200 800 1100
https://github.com/muellerc/apachecon-na-2013/tree/master/marshaling-unmarshaling
* doesn't work with Java 7 in every case
14. Conclusion
● Use JIBX for XML if possible (not Java 7
ready at present)
● Use JAXB for XML
● Use Jackson for Json
● Don't use Java serialization (not
interoperable, not easy to read)
16. Working with files
Duration in ms to write 50.000 lines a 140 Bytes into a file
18000
16000
14000
12000 Line by Line
Aggregator (String)
Aggregator (StringBuilder)
10000 Streaming
Aggregator (Build in)
8000
6000
4000
2000
0
14400 17700 4300 4300 3200
https://github.com/muellerc/apachecon-na-2013/tree/master/file-component
17. Conclusion
● Use an Aggregator to reduce the number of
file accesses (prefer the build in one)
● Use a StringBuilder to concatenate Strings
19. Working with databases
Duration in ms to insert 10.000 records
3500
3000
2500
Record by Record
Batched (by 10 records)
2000 Batched (by 100 records)
Batched (by 1000 records)
1500
1000
500
0
3200 1400 1200 1100
https://github.com/muellerc/apachecon-na-2013/tree/master/sql-component
20. Conclusion
● Use an Aggregator to reduce the number of
database accesses
22. Working with threads()
Duration in ms to process 1000 messages Duration in ms to process 10 files
12000
10000
8000
Single threaded processing
Multi threaded processing (10)
6000
4000
2000
0
11400 1200 10100 1100
https://github.com/muellerc/apachecon-na-2013/tree/master/threads
23. Conclusion
● Use threads to parallelize your work
25. Working with templates
Duration in ms to process 10000 messages
3500
3000
2500
String Template
Velocity
2000 FreeMarker
1500
1000
500
0 3100 1200 1000
https://github.com/muellerc/apachecon-na-2013/tree/master/template
26. Conclusion
● Prefer to use FreeMarker or Velocity
28. Using web services
Duration in ms to send 10000 messages
30000
25000
20000 POJO (without Woodstox)
POJO
PAYLOAD
MESSAGE
15000
10000
5000
0
28300 26300 25400 23000
https://github.com/muellerc/apachecon-na-2013/tree/master/cxf-component
29. Conclusion
● Prefer to use the PAYLOAD or MESSAGE
data format if you don't need a Java object
(skip the Unmarshaler)
● Fine tune you container (Jetty, Tomcat, …)
to use the right settings for your needs
(connector, acceptor, ...)
31. Messaging
Duration in ms to process 100 messages
6000
5000
4000 InOut perm. queue
InOut temp. queue
InOnly
3000
2000
1000
0 5600 5600 1100
https://github.com/muellerc/apachecon-na-2013/tree/master/jms-component
32. Messaging
Duration in ms to read and write 10000 messages
3500
3000
2500
SJMS (Trans.)
SJMS (Trans. Batch Consumer)
2000 SJMS (Trans. Batch)*
1500
1000
500
0 3300 2500 2200
https://github.com/muellerc/apachecon-na-2013/tree/master/sjms-component
* could be improved
33. Conclusion
● Prefer to use InOnly routes instead of InOut
routes if possible
● Use temp. reply queues or exclusive perm.
reply queues if you have to use InOut
routes
● Acknowledge messages in batch mode
(SJMS)
● Use the batch message to reduce the
number of broker accesses (SJMS)